你怎么grep一个文件,并获得接下来的5行
我如何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
你要:
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.
一些awk
版本。
awk '/19:55/{c=5} c-->0' awk '/19:55/{c=5} c && c--'
这是一个sed解决scheme:
sed '/19:55/{ N N N N N s/\n/ /g }' file.txt