ফাইল এবং ডিরেক্টরিতে একটি নির্দিষ্ট স্ট্রিং বা শব্দ কীভাবে সন্ধান করতে হয়


আপনি কি আপনার সমস্ত লিনাক্স সিস্টেম বা প্রদত্ত ডিরেক্টরিতে নির্দিষ্ট শব্দ বা পাঠ্যের স্ট্রিং যুক্ত সমস্ত ফাইল সন্ধান করতে চান? এই নিবন্ধটি কীভাবে এটি করতে আপনাকে গাইড করবে, আপনি যে পাঠ্যটির একটি নির্দিষ্ট স্ট্রিং রয়েছে এমন সমস্ত ফাইল সন্ধান এবং তালিকা করার জন্য ডিরেক্টরিগুলির মাধ্যমে পুনরাবৃত্তভাবে কীভাবে খনন করবেন তা শিখবেন।

এটি কার্যকর করার একটি সহজ উপায় হ'ল গ্রেপ প্যাটার্ন অনুসন্ধান সরঞ্জামটি ব্যবহার করা, ইউনিক্স-এর মতো সিস্টেমে ফাইল বা ডিরেক্টরি থেকে প্যাটার্ন এবং শব্দগুলি সন্ধানের জন্য একটি শক্তিশালী, দক্ষ, নির্ভরযোগ্য এবং সর্বাধিক জনপ্রিয় কমান্ড-লাইন ইউটিলিটি।

নীচের কমান্ডটি "চেক_আরট" পাঠ্যযুক্ত একটি লাইন সম্বলিত সমস্ত ফাইল তালিকাভুক্ত করবে, bin/bin ডিরেক্টরিটি পুনরাবৃত্তি এবং আক্রমণাত্মকভাবে অনুসন্ধান করে।

$ grep -Rw ~/bin/ -e 'check_root'

-R বিকল্পটি গ্রেপকে প্রতিটি ডিরেক্টরিতে সমস্ত ফাইল পড়তে বলে, পুনরাবৃত্তভাবে, প্রতীকী লিঙ্কগুলি অনুসরণ করে তবেই সেগুলি কমান্ড লাইনে থাকে এবং বিকল্প -W এটি কেবলমাত্র সেই লাইনগুলিকেই নির্বাচন করতে নির্দেশ দেয় যা সেই ফর্মের সাথে মেলে পুরো শব্দ এবং -e অনুসন্ধানের স্ট্রিং (প্যাটার্ন) নির্দিষ্ট করতে ব্যবহৃত হয়।

নির্দিষ্ট ডিরেক্টরি বা ফাইলগুলির অনুসন্ধানের জন্য আপনার sudo কমান্ডটি ব্যবহার করা উচিত যা রুট অনুমতিগুলির প্রয়োজন (আপনি যদি সিস্টেমটি রুট অ্যাকাউন্ট দিয়ে পরিচালনা না করেন) are

 
$ sudo grep -Rw / -e 'check_root'	

কেস পার্থক্য উপেক্ষা করার জন্য দেখানো হয়েছে -i বিকল্পটি নিয়োগ করুন:

$ grep -Riw ~/bin/ -e 'check_root'

আপনি যদি পাঠ্যের স্ট্রিংটি উপস্থিত থাকেন সেই সঠিক রেখাটি জানতে চান, -n বিকল্পটি অন্তর্ভুক্ত করুন।

$ grep -Rinw ~/bin/ -e 'check_root'

আপনি যে ডিরেক্টরিটিতে সন্ধান করতে চান সেখানে বেশ কয়েকটি ধরণের ফাইল রয়েছে তা ধরে নিলে, আপনি - অন্তর্ভুক্ত বিকল্পটি ব্যবহার করে উদাহরণস্বরূপ অনুসন্ধান করা ফাইলগুলির ধরণও নির্দিষ্ট করতে পারেন।

এই উদাহরণটি গ্রেপকে কেবলমাত্র সমস্ত .sh ফাইলের মধ্যে নজর রাখতে নির্দেশ দেয়।

$ grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

এছাড়াও, নিম্নলিখিত কমান্ডটি ব্যবহার করে একাধিক প্যাটার্ন অনুসন্ধান করা সম্ভব।

$ grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

এটাই! আপনি যদি ফাইলগুলিতে স্ট্রিং বা শব্দ খুঁজতে অন্য কোনও কমান্ড-লাইন কৌশল জানেন তবে আমাদের সাথে ভাগ করুন বা এই বিষয় সম্পর্কে কোনও প্রশ্ন জিজ্ঞাসা করুন, নীচের মন্তব্য ফর্মটি ব্যবহার করুন।