Unzip หรือ Unrar หลายไฟล์พร้อมกันใน Linux
หากคุณมีไดเรกทอรีที่มีไฟล์ซิปหรือ rar'd หลายสิบไฟล์คุณสามารถเรียกใช้คำสั่งเดียวเพื่อคลายไฟล์ทั้งหมดในขั้นตอนเดียวขอบคุณพลังของเชลล์ bash.
สำหรับภารกิจนี้เราจะใช้ bash's สำหรับโครงสร้างคำสั่ง loop แทนที่ด้วยชื่อตัวแปรและด้วยคำสั่งที่แสดงรายการหรือรายการที่ชัดเจน.
สำหรับใน
ทำ
คำสั่ง $;
เสร็จแล้ว
คุณสามารถรันบนบรรทัดเดียวด้วยไวยากรณ์นี้แทน:
สำหรับใน; do คำสั่ง $; เสร็จแล้ว
ดังนั้นหากคุณต้องการยกเลิกรายการไฟล์คุณสามารถใช้คำสั่งนี้ คุณไม่จำเป็นต้องใส่เครื่องหมายคำพูด แต่ช่วยได้เมื่อชื่อไฟล์มีช่องว่างหรืออะไรทำนองนั้นในนั้น.
สำหรับ f ใน * .rar; do unrar e“ $ f”;
หากคุณต้องการใช้ 7zip เพื่อแยกรายการไฟล์:
สำหรับ f ใน * .001; ทำ 7z e“ $ f”;
หรือถ้าคุณต้องการเปิดเครื่องรูดรายการไฟล์:
สำหรับ f ใน * .zip ทำ unzip“ $ f” เสร็จแล้ว
คุณสามารถรวมคำสั่งเข้าด้วยกันหากคุณต้องการ ตัวอย่างเช่นหากไฟล์ zip ทั้งหมดของคุณมีไฟล์. txt อยู่และคุณต้องการแตกไฟล์เหล่านี้แล้วย้ายไฟล์ที่คลายซิปไปยังไดเรกทอรีอื่น:
สำหรับ f ใน * .zip ทำ unzip“ $ f” เสร็จแล้ว; สำหรับ f ใน * .txt ทำ mv“ $ f” / myfolder /;
bash shell นั้นทรงพลังอย่างเหลือเชื่อ ... มันไม่ได้แตะที่พลัง แต่มันควรจะให้ความคิดที่ดีเกี่ยวกับสิ่งที่เป็นไปได้.