我有一个包含以下内容的文件。
.
.
hello
.
.
.
world
.
.
hello
.
.
.
.
.
world
.
.
点表示文件中的其他行。这里我只需要 gerp hello 和 world 行。这意味着输出应该如下所示。
hello
world
hello
world
如何实现这个?
谢谢,
答案1
使用grep
:
grep -E 'hello|world' file
使用awk
:
awk '/hello|world/' file
答案2
您可以使用grep
选项-x
匹配整行和(扩展)正则表达式运算|
符在模式之间执行逻辑或:
grep -xE 'hello|world' file.txt
如果你grep
不支持该-E
选项,请使用带有转义的 Basic Regex |
:
grep -x 'hello\|world' file.txt
此外,如果您不能使用该-x
选项匹配整行,请使用正则表达式运算符:
grep -E '^(hello|world)$' file.txt