كيف يمكنني استخراج ملفات 7Z متعددة في المجلد مرة واحدة في Ubuntu؟
سؤال
كيف يمكنني استخراج حوالي 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'
.
تأكد من أن لديك '
علامات.