এসিসি বা গ্রেপের সাহায্যে প্রস্থের প্রথম অনুসন্ধান


11

যখন আমি উদাহরণস্বরূপ আমার হোম ডিরেক্টরিটি ack(বা grep) দিয়ে অনুসন্ধান করি তখন আমি সাধারণত জানতে চাই যে আমি একটি নির্দিষ্ট বিকল্পটি কোথায় সেট করেছি।

যেহেতু বেশিরভাগ কনফিগারেশন ফাইলগুলি সত্যই ~এটির নিকটবর্তী হয় ackতবে আমি যদি প্রস্থের প্রথমটি অনুসন্ধান করতে পারি তবে যথেষ্ট গতি হবে । এটা কি সম্ভব?


1
দুঃখের সাথে উত্তরটি মনে হয় না।
— নিফলে

4
কয়েক মাসের মধ্যে মনে হয় আমি এটি গুগল করি এবং এই পৃষ্ঠায় ফিরে আসি।
— গ্রেগরি নিসবেট

2
@ গ্রেগরিনিসবেট আমার "সমাধান" স্যুইচ করা হয়েছে ag, যা প্রায় 5-10 গুণ বেশি গতিযুক্ত ackএবং কোনও ত্রুটি সরবরাহ করে না। এসএসডি স্যুইচ করার সাথে একত্রে আমার তখন থেকে সমস্যা হয়নি।
— প্রোফ্যাশটচ

উত্তর:


3

আমি জানি না ackতবে এমন সরঞ্জামগুলির সাথে যেমন grepআমি সাধারণত ব্যবহার করি:

( find . -maxdepth 1 -print ; find . -mindepth 2 -print ) | xargs -n 50 -exec grep TXT

এর মধ্যবর্তী অংশটি (এবং )এটি নিশ্চিত করে যে প্রথমে 1 স্তরের ফাইলগুলি তালিকাভুক্ত রয়েছে এবং তারপরে 2 এবং আরও গভীরতর (আপনি আলাদা হতে পারেন)। xargs50 থেকে 50 প্রতি ফাইলের নামগুলি ফিড করে grep।

অবশ্যই এটি নির্ভর করে যে findআপনার প্ল্যাটফর্মে কোন রূপটি উপলব্ধ। যদি 30 বছর আগে কিছু চালানো হয় তবে আপনাকে ফরোয়ার্ড স্ল্যাশের সংখ্যা বাছাই করার মতো কিছু ব্যবহার করতে হবে।


এমএমভি (আর্কলিনাক্স):grep: ./.macromedia/Flash_Player/#SharedObjects/Q2GSRK6Y/www.mixcloud.com/media: Is a directory
— xtian

আপনি যদি ব্যবহার -print0করতে যাচ্ছেন না , তবে কমপক্ষে করুন find . -maxdepth 1 -exec grep {} +;। mywiki.wooledge.org/BashFAQ/020
— সীমাবদ্ধ প্রায়শ্চিত্ত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.