আমি সবেমাত্র একটি সংরক্ষণাগারটি অনারত করেছিলাম যা আমার পরিপাটি ডিরেক্টরিতে ফাইলগুলির একটি জগাখিচুড়ি তৈরি করেছিল। উদাহরণ স্বরূপ:
user@comp:~/tidy$ tar xvf myarchive.tar
file1
file2
dir1/
dir1/file1
dir1/subdir1/
dir1/subdir1/file1
dir2/
dir2/file1
...
আমি আশা করছিলাম যে টার ফাইলটি একটি একক ফোল্ডারে (যেমন, myarchive/
) সংগঠিত হত , তবে এটি ছিল না! এখন আমার কাছে প্রায় 190 টি ফাইল এবং ডিরেক্টরি রয়েছে যা ডিজিটালভাবে একটি সংযুক্ত ডিরেক্টরি ছিল তার মধ্যে বারফিড। এই অনর্থযুক্ত ফাইলগুলি পরিষ্কার করা দরকার।
এই সংরক্ষণাগার থেকে নেওয়া ফাইল এবং ডিরেক্টরিগুলি "মুছে ফেলা" এবং মুছে ফেলার কোনও উপায় আছে কি?
নীচের দুর্দান্ত উত্তরের জন্য ধন্যবাদ। সংক্ষেপে , এখানে দুটি পদক্ষেপ (1) ফাইলগুলি মুছুন এবং (2) বিপরীত প্যাকিং ক্রমে খালি ডিরেক্টরি কাঠামো মুছুন (প্রথমে বাইরের ডিরেক্টরিগুলি মোছার জন্য) যা কাজ করে তা এখানে:
tar tf myarchive.tar | xargs -d'\n' rm
tar tf myarchive.tar | tac | xargs -d'\n' rmdir
এবং আরও নিরাপদ, echo
পরে যুক্ত করে কমান্ডগুলির একটি শুকনো রান প্রিভিউ করতে xargs
।
xargs
( tac
পরিবর্তে sort -r
শুধু প্রসাধনী), কিন্তু আপনি প্রক্রিয়া প্রতিকল্পন যে, আপনি মন্তব্য ব্যাখ্যা, আপনি উপযুক্ত নয় সঙ্গে উত্তর স্বীকার করবেন? এছাড়াও, দয়া করে xargs -d'\n'
আপনি যদি ভবিষ্যতের ব্যবহারকারীদের সংক্ষিপ্তসার করতে চান তবে আপনার পোস্টে স্যুইচ দিন, যাতে তারা ফাইলের নামের ফাঁকে দংশন করবে না।
-d'\n'
এখন অবধি প্রয়োজনীয়তা কখনই বুঝতে পারি নি এবং আরও বিশ্লেষণের পরে আপনার উত্তরটি আসলে আমি যা ব্যবহার করেছি তার কাছাকাছি।
-d'\n'
এই সত্য যে আপনি যদি xargs
নতুন লাইনে যুক্তিগুলি (যেটি আপনি খাওয়াচ্ছেন) তবে ফাঁকা স্থানগুলিতে বিভক্ত করতে না বললে মিথ্যাটির প্রয়োজনীয়তা সত্য হয় তবে তার সাথে একটি ফাইল নাম folder1/some file
হিসাবে folder1/some
এবং পড়া হবে name
।