ডিরেক্টরি ভিতরে ফাইল ভিতরে শব্দ দেখুন


0

আমি বাশ এ নতুন এই জাতীয় নামের সাথে tagsঅনেকগুলি .txtফাইল সহ আমার একটি ডিরেক্টরি আছে

[coral/home/tags]$ ls:
file1.txt file2.txt file3.txt file4.txt

প্রতিটি .txtফাইলের মধ্যে এই জাতীয় তথ্য রয়েছে:

line1 b1
line2 b2
line3 b3
line4 b4

আমি প্রতিটি টেক্সট ফাইলে সন্ধান করতে চাই এবং শব্দটির সাথে সেগুলি সন্ধান করতে চাই b3। ফাইলটিতে যদি এই শব্দটি থাকে তবে আমি স্ক্রিপ্টটি সম্পূর্ণ লাইন এবং এমন শব্দযুক্ত টেক্সট ফাইলটি লিখতে চাই।

এটি আমার ব্যর্থ প্রচেষ্টা:

#!/usr/bin/env                                                           
PATH=path/to/files
for x in $PATH:
do
  echo $x
done

আপনি আউটপুট হতে চান line3 b3 filename.txt?
মিটস্পেস

হ্যাঁ, বি 3 সহ লাইন এবং এতে থাকা ফাইলগুলির নাম
করলা

উত্তর:


1

আপনি গ্রেপ ব্যবহার করতে আপত্তি না থাকলে:

মধ্যে tagsডিরেক্টরি: grep -Hrn 'b3' .

  • -H ফাইলের নাম মুদ্রণ করে (একাধিক ফাইল অনুসন্ধানের সময় বোঝানো হয়)
  • -r পুনরাবৃত্তি অনুসন্ধান
  • -n প্রিন্ট লাইন নম্বর
  • . ওয়াইল্ডকার্ড

সম্ভাব্য আকর্ষণীয় বিকল্প: grep -C 3 'b3' path/to/files আপনি -Cম্যাচের আগে এবং পরে ফিরে আসা লাইনের বর্ধমান সংখ্যা সামঞ্জস্য করতে পারেন (এখানে, এটি 3)।


আমি কমান্ড লাইনটি চেষ্টা করেছি কিন্তু কিছুই ঘটেনি, এবং যদি গ্রেপ ব্যবহার করে কোনও বাশ স্ক্রিপ্ট চেষ্টা করে তবে তা ফিরে আসে: গ্রেপ: কমান্ড পাওয়া যায় নি
করলা

আপনি কোন লিনাক্স বিতরণ ব্যবহার করছেন? আপনার অনেককে গ্রেপ ইনস্টল করতে হবে (এটি সাধারণত আদর্শ)
পল

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