Linux

grep + 在文件/腳本中的文件夾下搜尋遞歸複雜語法

  • March 9, 2019

我們要在文件夾/s下遞歸搜尋以下行

awk '{print}'|grep -i -e 'port is up' -e 'valid output'

所以我們這樣做了:

grep -r "awk '{print}'|grep -i -e 'port is up' -e 'valid output'"  /var
grep -r "awk '{print}'|grep -i -e 'port is up' -e 'valid output'"  /etc
grep -r "awk '{print}'|grep -i -e 'port is up' -e 'valid output'"  /opt

但我不確定 grep 是否可以管理“’”和“{”字元或者我的語法錯誤?

要搜尋固定字元串(不是正則表達式),請使用-F選項 with grep。如果您還需要確保您的字元串與行匹配,請使用-x

grep -Fx -r '...your string here...' directory

要獲得近似命中(如果全行搜尋不返回任何內容),我會從僅port is up(不帶-x)開始,或者可能

grep -F -r -e 'port is up' -e 'valid output' directory

當您在此處使用基本正則表達式時,正則表達式模式中既不也不|特殊。在正則表達式中從不特殊。但是,由於您正在使用字元串(而不是模式)進行搜尋,因此您仍然應該使用.{``}``'``-F

引用自:https://unix.stackexchange.com/questions/454174