ইউনিক্স ম্যাজিক, ডিরেক্টরিগুলির একটি ট্রি থেকে সমস্ত .pyc ফাইলগুলি মুছবেন?


11

ডিরেক্টরিগুলির একটি গাছ থেকে সমস্ত .pyc ফাইলগুলি মুছে ফেলার কি দ্রুত উপায় আছে?

উত্তর:


28

আপনি যদি জিএনইউ পেয়ে থাকেন তবে আপনি সম্ভবত এটি চান

find <directory name> -name '*.pyc' -delete

আপনার যদি পোর্টেবল কিছু দরকার হয় তবে আপনি আরও ভাল হয়ে যাবেন

find <directory name> -name '*.pyc' -exec rm {} \;

গতি যদি বড় কাজ হয় এবং আপনি তখন জিএনইউ খুঁজে পেতে পারেন এবং জিএনইউ xargs পেয়ে যাবেন

find <directory name> -name '*.pyc' -print0|xargs -0 -p <some number greater than 1> rm

তবে আপনাকে বেশিরভাগ গতি বাড়ানোর সম্ভাবনা নেই, কারণ আপনি বেশিরভাগই I / O এর জন্য অপেক্ষা করবেন।


নিখুঁত ... ধন্যবাদ এটি সেই xargs যা আমি সবসময় ভুলে যাই
আন্তঃস্তর

2
নামের ফাঁকা জায়গাগুলির সাথে আমার কাছে ফাইল রয়েছে তবে আমি সর্বদা -প্রিন্ট 0 এবং "xargs -0" ব্যবহার করার অভ্যাসটি পেয়েছি।
পল টম্বলিন

আপনি সম্পূর্ণরূপে সঠিক, এটিকে মূলত চিন্তা করা উচিত ছিল,
সিয়ান

4
আপনি '-প্রিন্ট 0 | এর পরিবর্তে সরাসরি' -ডিলিট 'ব্যবহার করতে পারেন xargs -0 rm '। তবে এটি সত্য যে এই বিকল্পটি 'অনুসন্ধান' এর সমস্ত সংস্করণে উপস্থিত নেই।
রোলাফ

6

কমান্ডটি ব্যবহার করে সন্ধান করুন:

find /path/to/start -name '*.pyc' -exec rm -f {} \;

এটা খুব ধীর। Xargs ব্যবহার করা দ্রুত, বা যদি আপনার সংস্করণের সন্ধানটি সমর্থন করে \;তবে শেষে " " " " এ পরিবর্তন করুন +
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

1
এটি কিছুটা ধীর হতে পারে - এটি প্রতিটি ফাইলের ব্যাচিংয়ের পরিবর্তে একবার "আরএম" চালায় - তবে এটি করার সবচেয়ে পোর্টেবল উপায়। ওপি কোনও ধরণের ইউনিক্স ব্যবহার করছে না তা বলে নি, এবং সোলারিস এখনও খুঁজে পান যে-প্রিন্ট 0 বৈশিষ্ট্যটি নেই।
কেনটস্টার

1
+1, ওপি ইউনিক্স লিনাক্স নয় বলেছে, এটি সেরা পোর্টেবল সমাধান।
থিওথেরসেপ করুন

আমি মনে করি এই সমাধানটি কেবলমাত্র টন ফাইলগুলি সরিয়ে দেওয়ার অনুমতি দিচ্ছে, যদি আমি xargs ব্যবহার করে ভুল না করি তবে একটি লম্বা ত্রুটি কমান্ড লাইনে ছেড়ে যেতে পারে। +1, বছর থেকে এটি আমার পছন্দ।
drAlberT

আপনি যদি নিজের প্রকল্পটি তৈরি করতে কোনও মেকফিল ব্যবহার করছেন তবে আপনি এটি "ক্লিন" লক্ষ্যটিতে যুক্ত করতে চাইতে পারেন।
টম নিউটন

1

ডিরেক্টরি গাছের শুরুতে সিডি করুন তখন:

অনুসন্ধান . -নম '* .পিসিসি' | xargs আরএম -f


এটি প্রয়োজনীয় নয় cd, কেবল শীর্ষ নির্দেশিকাটি findকমান্ডে রেখে দিন ("ডট" এর জায়গায়)।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

এটি কোনও জায়গাতেই হ্যান্ডেল করে না।
সিয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.