আমি সাধারণত grep
বেশ কয়েকটি ফাইল চালাতে এই স্টাইলের কমান্ড ব্যবহার করি :
find / -xdev -type f -print0 | xargs -0 grep -H "800x600"
এটি আসলে যা করে তা হ'ল সিস্টেমে প্রতিটি ফাইলের একটি তালিকা তৈরি করা এবং তারপরে প্রতিটি ফাইলের জন্য grep
প্রদত্ত যুক্তি এবং প্রতিটি ফাইলের নাম দিয়ে সম্পাদন করা।
-xdev
যুক্তি বলে যে এটি অন্যান্য ফাইল সিস্টেম উপেক্ষা করতে হবে - এই যেমন বিশেষ ফাইল সিস্টেম এড়ানো জন্য ভাল /proc
। তবে এটি সাধারণ ফাইল সিস্টেমগুলিকেও এড়িয়ে যাবে - সুতরাং, উদাহরণস্বরূপ, যদি আপনার / হোম ফোল্ডারটি পৃথক পার্টিশনে থাকে তবে এটি অনুসন্ধান করা হবে না - আপনাকে বলতে হবে find / /home -xdev ...
।
-type f
মানে কেবল ফাইল অনুসন্ধান করুন, সুতরাং ডিরেক্টরি, ডিভাইস এবং অন্যান্য বিশেষ ফাইল উপেক্ষা করা হবে (এটি এখনও ডিরেক্টরিতে পুনরাবৃত্তি করবে এবং এর grep
মধ্যে থাকা ফাইলগুলিতে এক্সিকিউট করবে - এটি কেবল ডিরেক্টরিতে চালিত হবে না grep
, যা কোনওভাবে কাজ করবে না)) এবং এর আউটপুটটিতে সর্বদা ফাইলের নাম মুদ্রণ -H
করতে grep
বলার বিকল্প ।
find
ফাইলগুলির তালিকা ফিল্টার করতে সকল ধরণের বিকল্প গ্রহণ করে। উদাহরণস্বরূপ, -name '*.txt'
কেবলমাত্র টেক্সটে শেষ হওয়া ফাইলগুলি প্রক্রিয়া করে। -size -2M
এর অর্থ ফাইলগুলি যা 2 মেগাবাইটের চেয়ে ছোট। -mtime -5
মানে গত পাঁচ দিনে ফাইলগুলি সংশোধিত হয়েছে। এই জন্য -a সঙ্গে একসঙ্গে যোগদান এবং এবং জন্য কি- O বা , এবং ব্যবহার '('
প্রথম বন্ধনী ')'
(তাদের ব্যাখ্যা থেকে খোলসের প্রতিরোধ উদ্ধৃতির মধ্যে) গ্রুপ এক্সপ্রেশন করতে। উদাহরণস্বরূপ:
find / -xdev '(' -type f -a -name '*.txt' -a -size -2M -a -mtime -5 ')' -print0 | xargs -0 grep -H "800x600"
man find
সম্ভাব্য ফিল্টারগুলির সম্পূর্ণ তালিকা দেখতে একবার দেখুন।
Permission denied
ত্রুটি মুদ্রণ করে না ? আপনি কি এটি রুট বা একটি সাধারণ ব্যবহারকারী হিসাবে চালিত করেছেন?