Unix Grep完全匹配问题

时间:2016-04-01 10:05:21

标签: shell grep

我有一个文本文件Input.txt

7643 , PHP/5.6.16
7649 , PHP/5.3.10-1ubuntu3.21
10230 , PHP/5.3.10-1ubuntu3
14415 , PHP/5.6.17
14414 , PHP/5.5.9-1ubuntu4.11
24536 , PHP/5.3.3
24534 , PHP/5.3.3
14204 , PHP/5.4.45
1292 , PHP/5.5.33-1~dotdeb+7.1
5639 , PHP/5.3.3
5635 , PHP/5.5.31
8480 , PHP/5.4.45-0+deb7u2
8484 , PHP/5.3.29
8486 , PHP/5.5.9-1ubuntu4.14
355  , PHP/5

当我找到确切的PHP版本5时,它会返回包含PHP/5的所有行。

我尝试使用:

grep -w "PHP/5" Input.txt

如何从输入中获取确切的字符串PHP/5

2 个答案:

答案 0 :(得分:1)

您可以使用:

grep -w "PHP/5[[:blank:]]*$" file

355  , PHP/5

[[:blank:]]*$将匹配0个或更多空格,后跟PHP/5之后的行尾。

答案 1 :(得分:1)

您可以使用正则表达式:

grep -w "PHP/5\s*$" myIn