我有一個名爲test.txt
與文件,內容如下:在一個shell腳本,用grep用正則表達式來查找文件中的文本不工作
1 2 3
我有一個使用正則表達式下面的腳本相匹配的數字之間至少一個空白字符:
#!/bin/sh
if ! grep -q -e "1[ \t]+2[ \t]+3" test.txt; then
echo "not found"
else
echo "found"
fi
執行該腳本可以打印出not found
,但它應該有打印出來found
。這是爲什麼?
謝謝。另一種方法是將'-e'改爲'-E'。 – pacoverflow
嗯,它仍然不能正常工作 - 如果我將'test.txt'中的空格更改爲製表符,腳本會打印出'not found'。 – pacoverflow
我的男人說'-P'是「高度實驗性的」,所以我會改變'\ t'爲'[:space:]'。謝謝! – pacoverflow