কিছু পাঠ্যের জন্য আমি কীভাবে উত্স ফাইলগুলিতে গ্রেপ করতে পারি?


8

এই মুহুর্তে আমি দুটি কমান্ড ব্যবহার করছি, আমি নিশ্চিত আরও ভাল উপায় থাকতে হবে ...

wim@wim-acer:~/ffmpeg$ find . -name "*.h" -print0 | xargs -0 grep -i invalid\ preset
wim@wim-acer:~/ffmpeg$ find . -name "*.c" -print0 | xargs -0 grep -i invalid\ preset

1
না -name '*.[ch]'কাজ করে?
গ্লেন জ্যাকম্যান

উত্তর:


10

আক্ক (বা, ডেবিয়ান / উবুন্টুতে, এসকে-গ্রেপ) সংস্করণ নিয়ন্ত্রণ বা বাইনারিগুলির মতো নন-উত্স ফাইলগুলিকে উপেক্ষা করবে। খুব দরকারী.

উপরের মত ঠিক .c এবং .h ফাইল অনুসন্ধান করতে:

ack-grep -i --cc "invalid preset"

--cc(আর ফর্ম --type cc) শুধুমাত্র গ জ & .xs ফাইল এ দেখায়। ফাইল টাইপের পুরো তালিকাটি এর সাথে দেখতে পাওয়া যায় ack-grep --help type। বেশিরভাগ সময়, আপনার বিশেষত প্রয়োজন হবে না --type, কারণ এটিতে কেবল অনুসন্ধান করার জন্য ফাইল থাকবে এবং তারপরে ফাইলগুলি বাইনারি, ব্যাকআপ এবং সংস্করণ নিয়ন্ত্রণ ফাইলের মতো আপনি ডিফল্টরূপে দেখতে পাবেন না।


5

grepপ্রোগ্রাম নিজেই যাও recursively অনুসন্ধান করতে পারেন এবং শুধুমাত্র নির্দিষ্ট ফাইল অনুসন্ধান করার জন্য একটি বিকল্প গ্রহণ করে। নিম্নলিখিতটি আপনার দুটি findকমান্ডের সমতুল্য ।

grep -Ri --include=*.[ch] invalid\ preset .

আমি যখন বন্ধনীগুলি থেকে মুক্তি পেয়েছি তখন এটি আমার জন্য কাজ করেছিল
মাইক

1

ফাইন্ড কমান্ডটি গ্রেপকে কল করতে পারে।

find . \( -name "*.c" -o -name "*.h" \) -exec grep -i "invalid preset" {} \; -print

এবং এর বিভিন্নতা।


এটিকে সুস্পষ্ট প্রকরণে পরিবর্তন করা হয়েছে। ;-)
কেইথ

0

আমি আপনার মত কিছু যোগ করতে পারেন ~/.bashrc

alias cppgrep='grep -Ri "--include=*.[hc]" "--include=*.cpp" "--include=*.hpp"'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.