这个GREP有什么问题?

时间:2015-03-28 01:28:50

标签: bash grep

这是我的文字档案:

line A
line B
line C

现在我试图找到以A:

结尾的行
cat foo.txt | grep 'A$'

顺便说一句:

$ grep --version
GNU grep 2.6.3

2 个答案:

答案 0 :(得分:1)

你的grep命令没有任何问题。但是在最后A之后可能存在空格字符。所以使用下面的grep命令。

grep 'A\s*$' file

\s匹配任何类型的水平或垂直空白字符。

您可以使用POSIX字符类[[:space:]]来匹配任何类型的空格字符。

grep 'A[[:space:]]*$' file

答案 1 :(得分:0)

如果最后一个字符始终是单个字符,则此awk应该执行:

awk '$NF=="A"' file
line A

测试最后一个字段是否等于A
如果在最后一个字符后面有隐藏的空格/制表符,这也可以使用。