আপনি কীভাবে কোনও ফাইল গ্রেপ করবেন এবং পরবর্তী 5 লাইন পাবেন?


117

আমি কীভাবে grepএকটি ফাইল করব 19:55এবং লাইন 1,2,3,4,5 পেতে পারি ?

2013/10/08 19:55:27.471
Line 1
Line 2
Line 3
Line 4
Line 5

2013/10/08 19:55:29.566
Line 1
Line 2
Line 3
Line 4
Line 5

2
আপনার শিরোনাম উজ্জ্বল দেখাচ্ছে। আপনি জানেন - না, আমি কোনও ফাইল গ্রেপ করি না এবং এটি 5 টি লাইন পাই: পি
আলমা

উত্তর:


216

তুমি চাও:

grep -A 5 '19:55' file

থেকে man grep:

Context Line Control

-A NUM, --after-context=NUM

Print NUM lines of trailing context after matching lines.  
Places a line containing a gup separator (described under --group-separator) 
between contiguous groups of matches.  With the -o or --only-matching
option, this has no effect and a warning is given.

-B NUM, --before-context=NUM

Print NUM lines of leading context before matching lines.  
Places a line containing a group separator (described under --group-separator) 
between contiguous groups of matches.  With the -o or --only-matching
option, this has no effect and a warning is given.

-C NUM, -NUM, --context=NUM

Print NUM lines of output context.  Places a line containing a group separator
(described under --group-separator) between contiguous groups of matches.  
With the -o or --only-matching option,  this  has  no effect and a warning
is given.

--group-separator=SEP

Use SEP as a group separator. By default SEP is double hyphen (--).

--no-group-separator

Use empty string as a group separator.

2
বাহ বাহ বাহ! অসংখ্য ধন্যবাদ.
ফিলিপমওয়ানিকি

আউটপুটকে নির্দিষ্ট পরিমাণ রেখার মধ্যে সীমাবদ্ধ না রাখার সাথে মিলে যাওয়ার পরে সমস্ত লাইন মুদ্রণ করার উপায় থাকলে এটি দুর্দান্ত হবে ।
ম্যাথিয়াস ব্রাউন

4

কিছু awkসংস্করণ।

awk '/19:55/{c=5} c-->0'
awk '/19:55/{c=5} c && c--'

প্যাটার্নটি পাওয়া গেলে, সেটটি সত্য c=5
হলে সেট করুন c, মুদ্রণ করুন এবং সংখ্যা হ্রাস করুনc


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