কীওয়ার্ড গ্রেপ অনুসন্ধানের পরে আমি কীভাবে ফাইলের নামগুলি দেখাব?


15

আমার কাছে বর্তমানে একটি ডিরেক্টরিতে এন ডেটা ফাইল রয়েছে যেখানে প্রতিটি ফাইলের বেশিরভাগ লম্বা তথ্যের সর্বাধিক 1 লাইন থাকে। আমার ডিরেক্টরি কাঠামো হয়

director/
    data1.json
    data2.json
    data3.json

আমি জানি যে এই ফাইলগুলির মধ্যে কমপক্ষে একটিতে আমি যে কীওয়ার্ডটি খুঁজছি তা ধারণ করে, তবে যেহেতু ডেটাগুলির একটি লাইন খুব দীর্ঘ, এটি আমার সম্পূর্ণ টার্মিনালটি জুড়ে covers কীওয়ার্ড গ্রেপ করার পরে আমি কীভাবে ফাইলের নাম পাই? গ্রিপ কমান্ডটি আমি ব্যবহার করছি:

grep keyword *.json

উত্তর:


30

-আর্গের যুক্তিটি আপনি যা চান তা করা উচিত।

   -l, --files-with-matches
          Suppress  normal  output;  instead  print the name of each input
          file from which output would normally have  been  printed.   The
          scanning  will  stop  on  the  first match.  (-l is specified by
          POSIX.)

7

আপনি গ্রেপের সাথে --nul বা এসিপির সাথে --প্রিন্ট 0 এর সাথে একত্রে xargs ব্যবহার করতে পারেন। আমি দেখতে পাই যে এসকের গতি আরও দ্রুত।

grep -lr --null searchterm * | xargs -I {} -0 echo {}

ack -lr --print0 searchterm * | xargs -I {} -0 echo {}

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.