গ্রেপ অনুসন্ধান + পরবর্তী লাইন


18

grepকমান্ডটি সহ আমি আমার প্রয়োজনীয় পাঠ্যটি নীচের মতো পেয়েছি:

grep 'C02' ~/temp/log.txt এখন, আমি যেখানেই পছন্দসই স্ট্রিং পাই, আমি খুঁজে পাওয়া স্ট্রিংয়ের পরে লাইনটি মুদ্রণ করতে চাই।

উদাহরণস্বরূপ, ধরুন যে কাঙ্ক্ষিত পাঠ্যটি 'abc', এবং abc 12 লাইনে পাওয়া গেছে, আমি 13 লাইনটিও মুদ্রণ করতে চাই।


3
grep -A1 'abc' ~/temp/log.txtজন্য 1 প্রসঙ্গের লাইন একটি ম্যাচ fter - দেখুন Context Line Controlম্যানুয়াল (এর উপধারা man grep)
steeldriver

1
gnu গ্রেপ এটি সহজ করে তোলে; পোস্টিক্স -A পতাকা নির্দিষ্ট করে না
জেফ শ্যাচলার

1
হাই এবং স্ট্যাক এক্সচেঞ্জে স্বাগতম! এসই-তে, আশা করা যায় যে এখানে সহায়তা নেওয়ার আগে আপনি কিছু প্রাথমিক গবেষণা করবেন do উদাহরণস্বরূপ, "গ্রেপ শো নেক্সট লাইন" অনুসন্ধানের জন্য প্রথম ফলাফলের একটি অপ্রত্যক্ষ উত্তর এবং দ্বিতীয়টিতে সরাসরি উত্তর দেওয়া হয়েছিল। আপনি ইতিমধ্যে এই সমস্যাটি সমাধান করার চেষ্টা করার জন্য কি করেছেন?
strugee

উত্তর:


25

আপনি যদি লিনাক্স সিস্টেম ব্যবহার করে থাকেন তবে আপনি চেষ্টা করতে পারেন:

grep -A1 "C02" ~/temp/log.txt


OPTIONS
       -A NUM, --after-context=NUM
              Print NUM lines of trailing context after matching lines.  Places a line containing -- between contiguous groups of matches.
       -B NUM, --before-context=NUM
              Print NUM lines of leading context before matching lines.  Places a line containing -- between contiguous groups of matches.
       -C NUM, --context=NUM
              Print NUM lines of output context.  Places a line containing -- between contiguous groups of matches.

আপনি জঞ্জাল হিসাবে এটি ব্যবহার করতে পারেন:

awk '/C02/{print;getline;print}' ~/temp/log.txt

1
এছাড়াও,sed -n '/C02/{N; p}' ~/temp/log.txt
সন্দীপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.