看看下面的例子,其中grep
使用二進制模式進行搜索:Grep:在二進制模式下重複字符?
$ echo "test blabla test ertytey" | grep -ao tes
tes
tes
我可以在搜索模式添加一個「點」,以「匹配任何字符」,並在賽後表示下一個字符:
$ echo "test blabla test ertytey" | grep -ao tes.
test
test
...或多個點,以配合後續字符:
$ echo "test blabla test ertytey" | grep -ao tes...
test b
test e
現在我想說匹配後匹配多個字符(,比如說30,no:3)我從man grep
讀取:{n} The preceding item is matched exactly n times.。所以我嘗試:
$ echo "test blabla test ertytey" | grep -ao tes.{3}
$
......什麼也沒有發生;
$ echo "test blabla test ertytey" | grep -ao tes.\{3\}
$
......什麼也沒有發生;
$ echo "test blabla test ertytey" | grep -ao tes[.]\{3\}
$
......什麼也沒有發生;
$ echo "test blabla test ertytey" | grep -ao tes\[.\]\{3\}
$
......沒有任何反應。
任何想法,將正確的語法是什麼「任何字符」(點),一個給定的次數中的grep的二進制模式匹配嗎?
非常感謝任何答案,
乾杯!
編輯:爲@aix的回答指出,最初我做了指定30個字符搜索的失誤,而本例中的字符串不夠長:)現在已經改成了更合理的計數3 :)
強烈建議您包裝圖案單引號,以防止某些字符的不必要猛砸擴張。 – heltonbiker
已確認 - 感謝那個@heltonbiker,好的答案也反映了這一點;乾杯! – sdaau