উত্তর:
এটা ব্যবহার কর:
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তালিকাভুক্তি থেকে ত্রুটিগুলি এড়াতে .এবং..
নটিলাসে এটি করার জন্য (কমান্ড লাইনটি ছাড়াই) আপনি যেখানে ঠিকঠাকভাবে ফাইলগুলি সরিয়ে নিয়ে গিয়েছিলেন সেখানে যেতে পারেন, "সংশোধিত" ট্যাবে ক্লিক করে ফাইলগুলি সাজান, তারপরে আপনার সঠিক সময়ের সাথে লেবেলযুক্ত সমস্ত ফাইল নির্বাচন এবং মুছুন you আনজিপ কমান্ড চালিয়েছে।
unzip -Z -1 /path/to/zip/file.zip | xargs -I{} rm -rf {}
-iসম্পাদনা সহ এখন +1 করুন :) :)