ฉันรวบรวมสคริปต์เพื่อดำเนินการบางอย่างกับฉัน ฉันใช้โอเปอเรเตอร์การ์ด*
เพื่อใช้ฟังก์ชั่นกับไฟล์ทุกประเภท แต่มีสิ่งหนึ่งที่ฉันไม่ได้รับ ฉันสามารถunzip
ไฟล์ทั้งหมดในโฟลเดอร์เช่นนี้
unzip "*".zip
อย่างไรก็ตามในการลบไฟล์ zip ทั้งหมดหลังจากนั้นฉันต้องทำ
rm *.zip
นั่นคือมันไม่ต้องการเครื่องหมายคำพูด unzip ในทางกลับกันไม่สามารถใช้งานได้หากฉันให้ * (ให้คำเตือนว่า "ไฟล์ไม่ตรงกัน")
ทำไมถึงแตกต่างกัน? สำหรับฉันดูเหมือนว่าการดำเนินการเดียวกันแน่นอน หรือฉันใช้การ์ดไวด์ไม่ถูกต้อง?
การแนะนำให้รู้จักกับไวด์การ์ดใน Unix นั้นไม่ได้ทำสิ่งนี้จริงๆและฉันไม่สามารถหาตำแหน่งใด ๆ ในเอกสารrm
หรือzip
ฉันใช้เทอร์มินัลกับ Mac (Yosemite)
unzip
ใช้ glob กับเนื้อหาของการเก็บถาวร; คุณไม่สามารถรับพวกเขาจากการทุบตีด้วยตัวแทน (คุณต้องการ `` `for f in unzip -l archive.zip
; do ... done`)
unzip
ยอมรับ globs ให้เข้ากับไฟล์ zip ไฟล์เดียว แต่นี่แตกต่าง ฉันลองunzip '*.zip'
ในไดเรกทอรีที่มีไฟล์ zip หลายไฟล์และแยกไฟล์ทั้งหมดจากรหัสไปรษณีย์ทั้งหมด อย่างที่ฉันพูดไปมันแปลกมาก tar
ไม่มีโหมดการทำงานใด ๆ เช่นนั้น
unzip
จะทำสิ่งนี้ได้อย่างไรหากไม่มีfor f in *.zip;do...done
เชลล์วงวนปกติ UI บรรทัดคำสั่งแปลก ๆ ที่ไม่เหมือนยูนิเซฟ