Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 从文件中获取上一行和下一行_Unix_Grep - Fatal编程技术网

Unix 从文件中获取上一行和下一行

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

我使用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.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