ฉันมีไฟล์ zip 348 ไฟล์และฉันต้องการค้นหาไฟล์ที่อยู่ในไฟล์ zip อย่างใดอย่างหนึ่งunzip -lไม่ทำงานกับ wild card ใช่ไหม
ฉันจะแสดงรายการเนื้อหาของ.zipไฟล์ทั้งหมดและgrepผ่านรายการที่รวมของไฟล์ทั้งหมดที่มีอยู่ในรหัสไปรษณีย์ได้อย่างไร
ฉันมีไฟล์ zip 348 ไฟล์และฉันต้องการค้นหาไฟล์ที่อยู่ในไฟล์ zip อย่างใดอย่างหนึ่งunzip -lไม่ทำงานกับ wild card ใช่ไหม
ฉันจะแสดงรายการเนื้อหาของ.zipไฟล์ทั้งหมดและgrepผ่านรายการที่รวมของไฟล์ทั้งหมดที่มีอยู่ในรหัสไปรษณีย์ได้อย่างไร
คำตอบ:
การใช้zipinfoเป็นทางออกที่ดีที่นี่ อย่างไรก็ตามโดยทั่วไปเมื่อใดก็ตามที่คุณต้องการใช้คำสั่งกับรายการไฟล์และคำสั่งไม่ยอมรับรายการไฟล์คุณสามารถใช้การforวนซ้ำได้:
for file in *.zip; do
unzip -l "$file"
done \
| grep "\.zip\|setup"
หากไฟล์ที่คุณกำลังค้นหามีช่องว่างในมันเหมือน: your fileในการแสดงออกปกติ grep grep "\.zip\|your\ file"คุณต้องหนีพื้นที่ที่มีการทับขวาเหมือนทุก
unzipแล้วว่าน่าอายแค่ไหน
findแทน
zipinfoคุณสามารถใช้ มันรวมอยู่ในการติดตั้งเริ่มต้นของ Ubuntu ตรวจสอบหน้าคู่มือสำหรับข้อมูลเพิ่มเติม
ตัวอย่างเช่นหากต้องการค้นหารูปแบบsetupในไฟล์ zip ในไดเร็กทอรีปัจจุบันให้ใช้คำสั่งนี้:
find ./ -iname *zip 2> /dev/null -print0 | xargs -0 zipinfo | grep setup
caution: filename not matched: case1.zip... caution: filename not matched: case348.zipสำหรับทุก zip ทดสอบบน Ubuntu OS สองอัน, 11.10 และ 12.04
setupและทำให้เกิดข้อผิดพลาดเหมือนกันถึงแม้ว่ามันจะทำงานได้เช่นนี้:zipinfo -l * | grep "setup"
ในการแสดงรายการไฟล์ในไฟล์ zip คุณสามารถใช้คำสั่งต่อไปนี้
unzip -l
หากต้องการ grep ไฟล์บีบอัดที่บีบอัดคุณควรใช้ยูทิลิตี้บีบอัดไฟล์เก็บถาวรที่สร้างขึ้นเพื่อทำงานกับรูปแบบไฟล์เก็บถาวรแบบนั้น
สำหรับไฟล์เก็บถาวร zip:
zipgrep --help
usage: zipgrep [egrep_options] pattern zipfile [members...]
Uses unzip and egrep to search the zip members for a string or pattern.
สำหรับคลังเก็บ tar:
zgrep --help
Usage: /bin/zgrep [OPTION]... [-e] PATTERN [FILE]...
Look for instances of PATTERN in the input FILEs, using their
uncompressed contents if they are compressed.
OPTIONs are the same as for 'grep'.
มีเครื่องมืออีกสองสามอย่างที่ทำงานกับคลังเก็บด้วยเช่นกัน คุณสามารถส่งท่อออกไปใส่ grep เพื่อทำสิ่งเดียวกัน
zcat
zcat my.archive.zip | grep "some text"
หรือคุณสามารถใช้ฟังก์ชันการค้นหาของเครื่องมือเหล่านี้
zless
zmore