الصفحة الرئيسية » howto » فك ضغط أو فك العديد من الملفات في مرة واحدة في لينكس

    فك ضغط أو فك العديد من الملفات في مرة واحدة في لينكس

    إذا كان لديك دليل بالعشرات من الملفات المضغوطة أو 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 قوية جدا بشكل لا يصدق ... هذا لا ينقر حتى على القوة ، ولكن يجب أن يعطيك فكرة جيدة عما هو ممكن.