我希望到grep一个文件,一个字,说:“AAA”,并与空格或换行结束。 我知道如何seperately写这篇文章,如下,但结合他们有问题(因为它同时输出感VVV AAA
和AAA VVV
)。
$echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA$"
>VVV AAA
$echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA[[:space:]]"
>AAA VVV
我已经尝试使用[]
但没有成功..
如果您正在寻找单词AAA
随后空间,在string中任何地方,或行的结尾,然后使用
grep -P "AAA( |$)"
您可以使用-e
的grep的选项选择多款:
grep -e "AAA$" -e "AAA[[:space:]]"
从grep的人:
-e PATTERN, --regexp=PATTERN
Use PATTERN as the pattern. This can be used to specify
multiple search patterns, or to protect a pattern beginning with
a hyphen (-). (-e is specified by POSIX.)
使用"AAA\b"
,如果它是可以接受的也匹配AAA跟任何其他非字母数字字符。 据该grep的手册页 , \b
在字的边缘匹配空字符串。
$ echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA\b"
AAA VVV
VVV AAA