低 grep
是一个非常有用的文本搜索和模式匹配工具。我们已经准备好提供关于 grep
和 egrep
. 在本教程中,我们将了解 grep
命令 or
, and
, not
详细的逻辑运算。
示例文本
我们将在教程中使用以下文本 grep
操作。这是曼联足球队的工资单。
David de Gea 26 £200,000 2 Years (2019)Sergio Romero 30 £50,000 4 Years (2021)Marcos Rojo 27 £70,000 2 Years (2019)Phil Jones 25 £50,000 2 Years (2019)Chris Smalling 27 £80,000 2 Years (2019)Eric Bailly 23 £75,000 3 Years (2020)
或逻辑
or
如果其中一个模式匹配,则逻辑匹配所有行。我们将使用 |
说明或逻辑。在这个例子中,我们将看看那些年龄段的球员 23
或者 30
.
$ grep "23|30" manchester.txt

或延长Grep
实现或逻辑的另一种方法是使用 grep
命令扩展选项 -E
. 我们将用 |
. 在这个例子中,我们将看看那些年龄段的球员 23
或者 30
.
$ grep -E "23|30" manchester.txt

或是白鹭
另一个用于实现或逻辑的工具是 egrep
. 我们将使用 |
又是接线员。 在这个例子中,我们将看看那些年龄段的球员 23
或者 30
.
$ egrep "23|30" manchester.txt

和逻辑
逻辑将匹配所有提供模式的行。我们将使用 .*
用于和运算符。在这个例子中,我们将列出那些合同是2年,年龄是27岁的球员。
$ grep "27.*2 Years" manchester.txt

多个Grep
另一个实现是使用多个grep命令来过滤给定的模式。 在这个例子中,我们将列出那些合同是2年,年龄是27岁的球员。
$ grep "2 Years" manchester.txt | grep 27

不是逻辑
NOT逻辑用于获得与给定模式不匹配的结果。我们将使用 -v
grep的选项。在这个例子中,我们将列出那些没有27岁的球员。
$ grep -v "27" manchester.txt

没有多个Grep条件
我们可以用多重逻辑来实现非多重逻辑 grep
命令。我们将在bash中通过管道传输多个grep命令。在这个例子中,我们将列出那些不是27岁,没有2年合同的球员。
$ grep -v "27" manchester.txt | grep -v "2 Years"

相关文章: Linux剪切命令及其示例