গ্রেপ [বদ্ধ] মধ্যে বাইনারি ফাইলের মিলের ফলাফলগুলি কীভাবে দমন করা যায়


215

grepলিনাক্স ব্যবহার করার সময় , ফলাফলটিতে প্রায়শই প্রচুর "বাইনারি ফাইল XXX ম্যাচ" থাকে, যা আমি যত্ন করি না। ফলাফলের এই অংশটি কীভাবে দমন করা যায়, বা গ্রাইপে বাইনারি ফাইলগুলি কীভাবে বাদ দেওয়া যায়?


12

1
@ এসকিউএলএসপি তবে -২ এর সাথে ফলাফলগুলি মিলে যাওয়া লাইন ধারণ করে না, কেবলমাত্র ফাইলের নামের সাথে।
র্যান্ডিটেক

লাইনের জন্য একটি বিকল্প রয়েছে:

6
এটি কি বিষয় বন্ধ? বাহ
কফি টেবিলস্প্রেসো

উত্তর:


302

তিনটি বিকল্প রয়েছে, যা আপনি ব্যবহার করতে পারেন। -Iগ্রেপ-এ বাইনারি ফাইলগুলি বাদ দেওয়া। অন্যান্য লাইন নম্বর এবং ফাইলের নামগুলির জন্য।

grep -I -n -H 


-I -- process a binary file as if it did not contain matching data; 
-n -- prefix each line of output with the 1-based line number within its input file
-H -- print the file name for each match

সুতরাং এটি গ্রেপ চালানোর উপায় হতে পারে:

grep -InH your-word *

এইটা কাজ করে. Thx @skwllsp
র্যান্ডিটেক

7
আমি -Irnযেখানে rসমস্ত ফোল্ডারের ভিতরে পুনরাবৃত্তির জন্য দাঁড় করিয়েছি তা ব্যবহার করব । Hএখানে মূল্যবান
ভ্লাদক্রাস

@ ভ্লাদক্রাস, "এইচ এখানে এক্সেসসিভ" - আপনার অর্থ নিরর্থক, মানে এটি ইতিমধ্যে ডিফল্ট?
cp.engr

সংক্ষিপ্ত বিকল্পগুলি আপনার উত্তরের অর্থ কী তা বোঝানোর জন্য আপনাকে ধন্যবাদ। এসও তে অনেকগুলি টর্স লিনাক্স কমান্ড উত্তর রয়েছে যা কোনও ব্যাখ্যা দেয় না, যা আমি বিরক্তিকর বলে মনে করি।
জড়হালি

1
@ অ্যারোনফ্র্যাঙ্ক: -nপতাকাটি গ্রেপকে ফাইলের লাইন সংখ্যাগুলি রিপোর্ট করতে বলেছে যেখানে এটি কোনও ম্যাচ খুঁজে পেয়েছিল। "1-ভিত্তিক" এর অর্থ লাইন গণনা শূন্যের চেয়ে এক থেকে শুরু হয়, যেমন প্রায়শই প্রোগ্রামিংয়ে করা হয়। সুতরাং, যদি আপনার ফাইলটির নামের প্রথম লাইনটি example.txtহয় Hello, world, দ্বিতীয় লাইনটি হয় Hello catএবং তৃতীয় লাইন হয় cats are cool, তবে "বিড়াল" এর মাধ্যমে অনুসন্ধান করা হবে grep -n cat example.txt, আপনি পেয়ে যাবেন example.txt:2: Hello catএবং পাবেন example.txt:3: cats are cool
jvriesem

11

এটি একটি পুরানো প্রশ্ন এবং এর উত্তর দেওয়া হয়েছে তবে আমি ভেবেছিলাম যে যে কেউ এটি ব্যবহার করতে চায় তাদের জন্য আমি --binary-ফাইল = পাঠ্য বিকল্পটি রেখে দেব। -আই বিকল্পটি বাইনারি ফাইলটিকে উপেক্ষা করে তবে আপনি যদি গ্রাইপকে বাইনারি ফাইলটিকে একটি টেক্সট ফাইল হিসাবে বিবেচনা করতে চান - - বাইনারি-ফাইলগুলি = পাঠ্যটি এমনভাবে ব্যবহার করুন:

bash$ grep -i reset mediaLog*
Binary file mediaLog_dc1.txt matches
bash$ grep --binary-files=text -i reset mediaLog*
mediaLog_dc1.txt:2016-06-29 15:46:02,470 - Media [uploadChunk  ,315] - ERROR - ('Connection aborted.', error(104, 'Connection reset by peer'))
mediaLog_dc1.txt:ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))
bash$
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.