2013-08-17 108 views
2

我試圖使用grep查找整個字符串。我對-w標誌很熟悉,但它讓我很難接受,因爲它將一個點作爲分隔符。使用grep查找整個字符串

例如,我有一個文件名爲「a.txt中」和目錄名的一些目錄,這是發生了什麼:

> ls | grep -w a 
a 
a.txt 

我希望它找到什麼是隻有「一個」和而已。

我該怎麼做?

回答

2

如果你想線路上的單a,使用

grep '^a$' 

如果你只需要空格作爲分隔符,使用

​​

(即空白或該行的開頭,一,空白或行結束)。

1

更簡單的方法也應該是:

grep '^[[:space:]]*a[[:space:]]*$' 

東西更友好的使用變量是使用AWK的。它不會將輸入模式解釋爲正則表達式。

awk -v v="$var" '{ sub(/^[[:space:]]*/, ""); sub(/[[:space:]]*$/, ""); }; $0 == v;' 
2

使用grep的x選擇啓用

ls | grep -x a