जवाबों:
इसे इस्तेमाल करो:
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
यदि आप संदेह में हैं तो इसका उपयोग करें (पुष्टि के लिए संकेत देगा)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
awk '{print $4}'
- रिक्त स्थान के साथ एक फ़ाइल नाम हो सकता है $4 $5 $6 ...
। :)
unzip -l foo.zip | awk 'NR>3{print $NF}' | egrep -v '\--|files'|xargs rm -r
आप एक मोटे स्थान पर हैं; मानक zipinfo(1)
उपयोगिता किसी भी तंत्र को अशुभ फ़ाइलनामों को संग्रह से बाहर निकालने के लिए प्रदान नहीं करती है। लेकिन , आप करीब आ सकते हैं:
zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i
अगर आपको यकीन है कि उनमें से किसी भी फाइल में नई-नई लाइनें नहीं हैं, तो आप -i
विकल्प को हटा सकते हैं rm(1)
(जो निश्चित रूप से थकाऊ होगा)।
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
क्या काम करता है क्योंकि उपयोगिता और विकल्प को -Z
आमंत्रित करता है यह केवल फ़ाइल नाम प्रिंट करने के लिए कहता हैzipinfo
-1
आप इसके बारे में man unzip
और man 1 zipinfo
आदेशों के बारे में अधिक जानकारी प्राप्त कर सकते हैं
यदि आप पहले एक फ़ोल्डर बनाए बिना गलती से अनज़िप करने के बाद अपनी निर्देशिका को साफ़ करना चाहते हैं, तो आप उस फ़ोल्डर को बना सकते हैं, उस पर अनज़िप करें और फिर:
rm -r ` ls folder `
"` 'आदेशों का पीछा करने के लिए सुपर उपयोगी है लेकिन यह बहुत शाब्दिक है।
टिप्पणियों ने इस उत्तर को बेहतर बनाया है, यदि आप यह सुनिश्चित करना चाहते हैं कि आप छिपी हुई फ़ाइलों को भी हटा दें (जो आप शायद करते हैं), ऐसा करें
rm -r ` ls -A folder `
ls -a
)।
ls -A
, लिस्टिंग से त्रुटियों से बचने के .
और..
Nautilus (कमांड लाइन के बिना) में ऐसा करने के लिए, आप बस उस जगह पर नेविगेट कर सकते हैं जहां आपने गलती से फ़ाइलों को निकाला है, "संशोधित" टैब पर क्लिक करके फ़ाइलों को सॉर्ट करें, फिर सटीक समय के साथ लेबल की गई सभी फ़ाइलों का चयन करें और हटाएं अनज़िप कमांड को चलाया।
unzip -Z -1 /path/to/zip/file.zip | xargs -I{} rm -rf {}
-i
एडिट के साथ । :)