Unix 从文件中获取上一行和下一行
我使用grep查找包含搜索字符的行。除了这一行,我还要上一行和下一行Unix 从文件中获取上一行和下一行,unix,grep,Unix,Grep,我使用grep查找包含搜索字符的行。除了这一行,我还要上一行和下一行 For example cat test.csv bbbbbbbbbbbbb xxx234.123yyy abc123.456efg zzz789.222xxx aaaaaaaaaaaaa grep '123.456' test.csv I get a line say, abc123.456efg Addition to that I need like this xxx234.123yyy abc123.456
For example
cat test.csv
bbbbbbbbbbbbb
xxx234.123yyy
abc123.456efg
zzz789.222xxx
aaaaaaaaaaaaa
grep '123.456' test.csv
I get a line say,
abc123.456efg
Addition to that I need like this
xxx234.123yyy
abc123.456efg
zzz789.222xxx
您可以使用
-A
和-B
选项:
% grep -A1 -B1 '123.456' test.csv
xxx234.123yyy
abc123.456efg
zzz789.222xxx
这将打印一行前导上下文和一行尾随上下文
作为快捷方式,grep还提供了结合了-a
和-B
的-C
选项:
% grep -C1 '123.456' test.csv
xxx234.123yyy
abc123.456efg
zzz789.222xxx
您可以使用
-A
和-B
选项:
% grep -A1 -B1 '123.456' test.csv
xxx234.123yyy
abc123.456efg
zzz789.222xxx
这将打印一行前导上下文和一行尾随上下文
作为快捷方式,grep还提供了结合了-a
和-B
的-C
选项:
% grep -C1 '123.456' test.csv
xxx234.123yyy
abc123.456efg
zzz789.222xxx
这就是
-C
标志的设计目的
$ cat file
bbbbbbbbbbbbb
xxx234.123yyy
abc123.456efg
zzz789.222xxx
aaaaaaaaaaaaa
$ grep 123.456 file
abc123.456efg
$ grep -C1 123.456 file
xxx234.123yyy
abc123.456efg
zzz789.222xxx
这就是
-C
标志的设计目的
$ cat file
bbbbbbbbbbbbb
xxx234.123yyy
abc123.456efg
zzz789.222xxx
aaaaaaaaaaaaa
$ grep 123.456 file
abc123.456efg
$ grep -C1 123.456 file
xxx234.123yyy
abc123.456efg
zzz789.222xxx
从手册页:
-C NUM, -NUM, --context=NUM
Print NUM lines of output context
从手册页:
-C NUM, -NUM, --context=NUM
Print NUM lines of output context