我試圖使用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