หนึ่งจะแยกโฟลเดอร์ที่เฉพาะเจาะจงจากการเก็บถาวรซิปไปยังไดเรกทอรีที่กำหนดได้อย่างไร
ฉันพยายามใช้
unzip "/path/to/archive.zip" "in/archive/folder/" -d "/path/to/unzip/to"
แต่เพียงสร้างโฟลเดอร์บนเส้นทางที่ฉันต้องการให้ซิปและไม่ทำอะไรเลย
หนึ่งจะแยกโฟลเดอร์ที่เฉพาะเจาะจงจากการเก็บถาวรซิปไปยังไดเรกทอรีที่กำหนดได้อย่างไร
ฉันพยายามใช้
unzip "/path/to/archive.zip" "in/archive/folder/" -d "/path/to/unzip/to"
แต่เพียงสร้างโฟลเดอร์บนเส้นทางที่ฉันต้องการให้ซิปและไม่ทำอะไรเลย
คำตอบ:
unzip <target-zip-file> '<folder-to-extract/*>' -d <destination-path>
ทำงานได้ดีบน EL 6
"\\"
จะถูกใช้ ดังนั้นจึงเป็นความแตกต่างที่ยกมาถ้าผู้เขียนหมายถึง "การอ้างถึงตัวละครกลม" (ไม่จำเป็น) ทั้งสองวิธีแบ็กสแลชเดี่ยวเช่นนั้นคือการพิมพ์ผิด
ลอง:
unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to
caution: filename not matched: foldername/\*
เมื่อฉันทำงานunzip $repozip "$2-master/\*" -d /srv/www/magento/
ที่$2
มีชื่อโฟลเดอร์ในรหัสไปรษณีย์ฉันต้องการดึงไฟล์และโฟลเดอร์ทั้งหมดออกจาก
"path/*"
เพียง
mv
หลังจากนั้นเพื่อรับไฟล์ที่ฉันต้องการ
-j
สำหรับการที่
-j
ดึงข้อมูลเส้นทางทั้งหมดและไฟล์ทั้งหมดไปยังโฟลเดอร์เป้าหมาย มีวิธีลบเฉพาะส่วนทั่วไปของเส้นทางหรือไม่ -r
คล้ายกับซิป
คำตอบสองคำตอบที่มีอยู่นั้นถูกต้องทั้งคู่ แต่ก็ค่อนข้างยุ่งยากในการระบุไดเรกทอรีเป้าหมายซึ่งน่าจะดีกว่า
สมมติว่า/target/root/
เป็นเป้าหมายของการดำเนินการ unzip ดั้งเดิมเช่น:
unzip -qq src.zip -d "/target/root/"
จากนั้นเราต้องใช้เหมือนกับ/target/root/
dir เป้าหมายหลังจากนั้นแม้ว่าเราต้องการแยกเฉพาะไดเรกทอรีย่อยที่เฉพาะเจาะจงตามที่ unzip ทำงาน:
unzip -qq src.zip "sub/dir/*" "/target/root/"
หลังจากที่ทุกกฎง่ายจริงใช้ไดเรกทอรีรากเป้าหมายเหมือนกันสำหรับ-d
ตัวเลือก
BTW -qq
ตัวเลือกสำหรับการคลายซิปจะเงียบจริง ๆ อย่าลังเลที่จะลบออก