<分区>
我想在某个文件中搜索特定的字符串。一旦找到,我只想打印 grep 行的前一行,而不是使用 grep 命令获得的行。
命令:grep -B 1 line5
Ex:
lin1 with some text
lin2
lin3
lin4
lin5 with some text
输出将是
lin4
lin5 with some text
但是有什么解决方案可以让我只获得 lin4 而不能获得 lin5。
提前感谢您的帮助。
<分区>
我想在某个文件中搜索特定的字符串。一旦找到,我只想打印 grep 行的前一行,而不是使用 grep 命令获得的行。
命令:grep -B 1 line5
Ex:
lin1 with some text
lin2
lin3
lin4
lin5 with some text
输出将是
lin4
lin5 with some text
但是有什么解决方案可以让我只获得 lin4 而不能获得 lin5。
提前感谢您的帮助。
最佳答案
匹配后显示N行
-A 是在匹配后打印指定 N 行的选项,如下所示。
语法:
grep -A <N> "string" FILENAME
匹配前显示N行
-B 是选项,在匹配前打印指定的 N 行。
语法:
grep -B <N> "string” FILENAME
在匹配项周围显示 N 行 -C 是选项,它在匹配前打印指定的 N 行。在某些情况下,您可能希望比赛双方都出现线条。此选项在匹配的两侧(之前和之后)显示 N 行。
$ grep -C 2 "Example" FILENAME
关于linux - 使用 GREP 命令后仅打印上一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34305571/