فك ضغط أو فك العديد من الملفات في مرة واحدة في لينكس
إذا كان لديك دليل بالعشرات من الملفات المضغوطة أو rar'd ، فيمكنك تشغيل أمر واحد لفك ضغطها كلها في خطوة واحدة ، وذلك بفضل قوة غلاف bash.
في هذه المهمة ، سنستخدم Bash في بنية أوامر loop. استبدل باسم متغير ، ومن خلال أمر يخرج قائمة أو قائمة صريحة.
لفي
فعل
الأمر $
فعله
يمكنك تشغيله على سطر واحد باستخدام بناء الجملة هذا بدلاً من ذلك:
لفي ؛ القيام الأمر $ ؛ القيام به
لذلك إذا كنت ترغب في فك قائمة الملفات ، يمكنك استخدام هذا الأمر. لا تحتاج بالضرورة إلى علامات الاقتباس ، ولكنها تساعد عندما يكون لأسماء الملفات فراغات أو شيء من هذا القبيل فيها.
for f in * .rar؛ do unrar e “$ f”؛ done
إذا كنت تريد استخدام 7zip لاستخراج قائمة من الملفات:
لـ f in * .001 ؛ قم بعمل 7z e "$ f" ؛ اكتمل
أو إذا كنت تريد فك ضغط قائمة الملفات:
لـ f in * .zip ؛ قم بفك ضغط "$ f" ؛ فعل
يمكنك حتى سلسلة الاوامر معا اذا اردت. على سبيل المثال ، إذا احتوت جميع ملفات zip على ملفات .txt وكنت تريد فك ضغطها ثم نقل الملفات التي تم فك ضغطها إلى دليل آخر:
for f in * .zip؛ do unzip “$ f”؛ done؛ لـ f in * .txt ؛ فعل mv “$ f” / myfolder / ؛ تم
إن قوقعة bash قوية جدا بشكل لا يصدق ... هذا لا ينقر حتى على القوة ، ولكن يجب أن يعطيك فكرة جيدة عما هو ممكن.