แตกไฟล์เฉพาะในไฟล์เก็บถาวร tar โดยใช้สัญลักษณ์แทน


19

ฉันพยายามสร้างสคริปต์เพื่อแยกเฉพาะภาพ jpeg จากไฟล์เก็บถาวรที่มีไฟล์หลายประเภท

เมื่อต้องการทำเช่นนั้นฉันพยายามใช้:

   tar -xf MyTar.tar *.jpg

แต่มันล้มเหลว (ไม่พบ * .jpg) และแนะนำให้ฉันใช้ "--wildcard" ดังนั้นฉันจึงพยายาม

tar -xf MyTar.tar --wildcard *.jpg

ฉันทำอย่างนั้น แต่แล้วข้อผิดพลาดเดียวกันและคำเตือนที่แตกต่างบอกกับฉันว่าตัวเลือก "--wildcard" ไม่ชัดเจน

ฉันอยู่เหนือ man page สำหรับ tar แต่ไม่พบเบาะแสเกี่ยวกับปัญหา


รุ่นใดและรุ่นใด วางผลลัพธ์ของtar --version
smci

คำตอบ:


33

ในท้ายที่สุดฉันก็พบคำตอบหลังจากหยุดพัก ตัวเลือกคือ wildcard s , พหูพจน์ ...

ดังนั้นคำสั่ง

tar -xf MyTar.tar --wildcards "*.jpg"

ทำสิ่งที่ฉันต้องการ


3

ใส่เครื่องหมายคำพูดล้อมรอบไวด์การ์ดแบบนี้"*.jpg"เพื่อให้เชลล์ไม่พยายามขยายและแทนที่มันจะส่งตรงไปยัง tar แทน คุณต้องการ tar เพื่อประเมิน wildcard ไม่ใช่เชลล์และเครื่องหมายคำพูดทำ


0

สำหรับ tar เวอร์ชันเก่าบางส่วนข้อมูลต่อไปนี้ถูกแยกออกจากไฟล์ "man" :

อักขระตัวแทนการแทนที่ชื่อไฟล์ไม่สามารถใช้สำหรับการแยกไฟล์จากไฟล์เก็บถาวร ค่อนข้างใช้คำสั่งของแบบฟอร์ม:

tar xvf ... /dev/rmt/0 `tar tf ... /dev/rmt/0 | grep 'pattern' `
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.