这个 GREP 有什么问题?
What is wrong with this GREP?
这是我的文本文件:
line A
line B
line C
现在我试图找到以 A:
结尾的行
cat foo.txt | grep 'A$'
顺便说一句:
$ grep --version
GNU grep 2.6.3
你的 grep 命令没有问题。但是在最后一个 A
之后可能存在 space 个字符。所以使用下面的 grep 命令。
grep 'A\s*$' file
\s
匹配任何类型的水平或垂直白色space 字符。
或
您可以使用 POSIX 字符 class [[:space:]]
来匹配任何类型的 space 字符。
grep 'A[[:space:]]*$' file
如果最后一个字符始终是单个字符,awk
应该这样做:
awk '$NF=="A"' file
line A
它测试最后一个字段是否等于 A
如果在最后一个字符后隐藏 spaces/tabs,这也将起作用。
这是我的文本文件:
line A
line B
line C
现在我试图找到以 A:
结尾的行cat foo.txt | grep 'A$'
顺便说一句:
$ grep --version
GNU grep 2.6.3
你的 grep 命令没有问题。但是在最后一个 A
之后可能存在 space 个字符。所以使用下面的 grep 命令。
grep 'A\s*$' file
\s
匹配任何类型的水平或垂直白色space 字符。
或
您可以使用 POSIX 字符 class [[:space:]]
来匹配任何类型的 space 字符。
grep 'A[[:space:]]*$' file
如果最后一个字符始终是单个字符,awk
应该这样做:
awk '$NF=="A"' file
line A
它测试最后一个字段是否等于 A
如果在最后一个字符后隐藏 spaces/tabs,这也将起作用。