কীভাবে এসকে এবং গ্রেপের সর্বোচ্চ-গভীরতা অনুসন্ধান করবেন?


32

ackবর্তমান ফোল্ডারে কেবল পাঠ্যের জন্য অনুসন্ধান করার কোনও উপায় আছে কি ? (বা একটি max-depthস্তর নির্দিষ্ট করুন ?) এবং সাথে grep?


1
না, ACK মধ্যে max-গভীরতা বিকল্প, ব্যতীত অন্য নেই -nএ সব recurse না।
অ্যান্ডি লেস্টার

উত্তর:


22

এর -nজন্য ব্যবহার করুন no-recurse:

$ ack -n foo

grepডিফল্টরূপে পুনরাবৃত্ত হয় না এবং আপনি -rপুনরাবৃত্তি অনুসন্ধান করতে চাইলে আপনার পতাকাটি ব্যবহার করা উচিত ।

আপনি grepনিম্নোক্তভাবে বর্তমান ডিরেক্টরিটি অনুসন্ধান করতে পারেন :

$ grep -- foo *

13
প্রশ্নের উত্তর দেয় না? (যদি আমি 2 এর গভীরতায় পুনরাবৃত্তি করতে চাই তবে কী হবে)
স্টিভেন লু

ভাল কথা, আমি এটা মিস করেছি। কোন পরামর্শ?
এরিক উইলসন

29

আপনি দম্পতি খুঁজে পেতে পারেন -অজেক তর্ক দিয়ে। উদাহরণ:

find . -maxdepth 1 -exec grep foo {} \;

এটি ছোট করা যেতে পারে, অর্থাত্ -maxdepth 2


স্টিফেন, আমার উত্তর ( -maxdepth 1) স্কেলযোগ্য ছিল। উদাহরণস্বরূপ -maxdepth 2। আপনি যে সম্পাদনাটি করেছেন সেভাবে কীভাবে বর্ণনা করবেন তা আমি জানি না।
ডেভিড উইলকিনস

আপনি @ ব্যবহার না করলে এটি @ স্টাফানে পৌঁছাবে না।
ব্রায়াম

4
হ্যাঁ দুঃখিত, আমি স্বীকার করি যে আমার সম্পাদনাটি খুব বেশি অনুপ্রবেশকারী ছিল। আপনি এখনও পরিষ্কার করতে চাইতে পারেন যে ( -maxdepth) বহনযোগ্য / মানক সিনট্যাক্স নয় (কেবলমাত্র জিএনইউ এবং কিছু বিএসডি)। এছাড়াও, \;এখানে ব্যবহার করার কোনও অর্থ নেই ( grepপ্রতিটি ফাইলের জন্য চালান )। ব্যবহারের grep -H foo {} +(গনুহ নির্দিষ্ট) অথবা grep foo /dev/null {} +(আদর্শ) নিশ্চিত ফাইলের নাম সবসময় ছাপা হয় না। এর সমমানের সমমান -maxdepth 2হবেfind . -path './*/*' -type d -prune -o -type f -exec ...
স্টাফেন চেজেলাস

2
এছাড়াও নোট করুন যে আপনার ডিরেক্টরিগুলির জন্য ত্রুটি বার্তা দেবে ( .আপনি যেমন দেননি তেমন সহ -mindepth 1) যখন GNU grepডিরেক্টরিগুলি পড়ার চেষ্টা করবে না -r(এটি তাদের উপর পুনরাবৃত্তি করে)। আপনি একটি যোগ করতে চান করতে পারেন -d skipথেকে grep(অভিমানী গনুহ, grep) অথবা ভাল যোগ ! -type dকরার findআরও ভাল বা -type f(অথবা -xtype fগনুহ অভিমানী find) হিসেবে আপনি সম্ভবত না চান grepঅ নিয়মিত ফাইলগুলি পড়তে।
স্টাফেন চেজেলাস

4
আমি grep -Hinএই পদ্ধতির সাথে ব্যবহার করার প্রবণতা রাখি যাতে ফাইলের নাম এবং ঘটনাটি চালু রয়েছে এমন লাইনটি দেখতে পারি।
জিডিপি 2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.