我试图使用grep查找整个字符串。我对-w标志很熟悉,但它让我很难接受,因为它将一个点作为分隔符。使用grep查找整个字符串
例如,我有一个文件名为“a.txt中”和目录名的一些目录,这是发生了什么:
> ls | grep -w a
a
a.txt
我希望它找到什么是只有“一个”和而已。
我该怎么做?
我试图使用grep查找整个字符串。我对-w标志很熟悉,但它让我很难接受,因为它将一个点作为分隔符。使用grep查找整个字符串
例如,我有一个文件名为“a.txt中”和目录名的一些目录,这是发生了什么:
> ls | grep -w a
a
a.txt
我希望它找到什么是只有“一个”和而已。
我该怎么做?
如果你想线路上的单a
,使用
grep '^a$'
如果你只需要空格作为分隔符,使用
(即空白或该行的开头,一,空白或行结束)。
更简单的方法也应该是:
grep '^[[:space:]]*a[[:space:]]*$'
东西更友好的使用变量是使用AWK的。它不会将输入模式解释为正则表达式。
awk -v v="$var" '{ sub(/^[[:space:]]*/, ""); sub(/[[:space:]]*$/, ""); }; $0 == v;'
使用grep的x选择启用
ls | grep -x a