كيف يمكنني استخراج ملفات 7Z متعددة في المجلد مرة واحدة في Ubuntu؟

StackOverflow https://stackoverflow.com/questions/4273576

  •  28-09-2019
  •  | 
  •  

سؤال

كيف يمكنني استخراج حوالي 900 7Z ملفات موجودة في نفس المجلد (جميعها تحتوي على ملف واحد في الداخل) دون القيام بذلك واحدًا تلو الآخر؟

أنا أستخدم Ubuntu 10.10. جميع الملفات موجودة في /home/username/folder1/folder2.

هل كانت مفيدة؟

المحلول

for arc in *.7z
do
  7zwhatever "$arc"
done

نصائح أخرى

7za -y x "*.7z" 

الكود أعلاه عملت بالنسبة لي

for f in *.7z
do
    7zr e "$f" &
done

هذا سوف يستخرج كل شيء .7z الملفات إذا كانت تنسيق 7Z إلى الدليل الحالي ، دون انتظار الانتهاء.

يمكن أن يكون جهاز الكمبيوتر الخاص بك مملوكًا. لقد تم تحذيرك!

استخدام موازى هي طريقة مريحة إلى حد ما مع عداد التقدم الكلي مجانًا ؛)

ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null'

7z x "*.7z"هذا عمل بالنسبة لي في أوبونتو

إذا كنت ترغب في استخراج أرشيفات 7Zip متعددة إلى مجلدات مع نفس الأسماء في Linux ، يمكنك استخدام:

for archive in *.7z; do 7z x -o"`basename \"$archive\" .7z`" "$archive"; done

على سبيل المثال ، إذا كان لديك محفوظتان 7Zip a.7z و b.7z, ، سوف يخلق مجلدين a و b, و uncercuss a.7z في مجلد a و b.7z في مجلد b.

الأمر أعلاه يأتي من هذه الإجابة على Superuser من قبل المستخدم Vojtech.

في وضع لاستخدام حلقة

يمكنك أيضًا استخدام Find في تركيبة مع وسيطة exec أو xargs

أبسط طريقة unzip '*.zip'.

تأكد من أن لديك ' علامات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top