我需要檢查位於不同位置的幾個文件以獲取特定信息。在多個目錄中搜索文件中的信息
那麼,如何製作一個通過幾個目錄檢查參數詞的腳本?
這些目錄位於不同的位置。例如。
/家庭/ CHECK1/
的/ opt /日誌/
在/ var /狀態/
我需要檢查位於不同位置的幾個文件以獲取特定信息。在多個目錄中搜索文件中的信息
那麼,如何製作一個通過幾個目錄檢查參數詞的腳本?
這些目錄位於不同的位置。例如。
/家庭/ CHECK1/
的/ opt /日誌/
在/ var /狀態/
你也可以做(旁邊'find') 做的grep的
for DIR in /home/check1 /opt/log /var/status ; do
grep -R searchword $DIR;
done
使用grep -R
(遞歸)選項,並給grep
多個目錄參數。
這些目錄位於不同的位置。例如。 /home/check1/ /opt/log/ /var/status/ – Stole
@Stole:'grep -R pattern/home/check1// opt/log// var/status /' –
在非常簡單的,把它歸結爲
find . -name '*.c' | xargs grep word
在當前目錄下的所有.c文件找到一個給定的詞。
grep -R
也可能適合您,但如果您不想搜索所有文件,則可能會出現問題。
嘗試找到http://content.hccfl.edu/pollock/Unix/FindCmd.htm使用您的搜索字詞和目錄。
手冊頁應該解釋你需要什麼。無論如何,如果你需要遞歸搜索,您可以使用:
grep -R --include=PATTERN "string_to_search" $directory
您還可以使用:
--exclude=PATTERN to skip some file
--exclude-dir=PATTERN to skip some directories
另一種選擇是使用find獲得的文件和管道它到grep搜索字符串。
循環過度'grep'可以帶多個目錄參數。 –