2012-10-08 192 views
0

搜索maillog中的每個文件夾的名字我都在它的子文件夾的文件夾:Shell腳本:在目錄

/example.org 
    /account1 
    /account2 
    /account3 

我要搜索的/ var /日誌/ maillog中,/var/log/maillog.1, /var/log/maillog.2等,用於發生帳戶文件夾名稱。

如果沒有發生,我想將它記錄到文件中。

我該怎麼做?

回答

1

我會用grep來做。

首先你必須得到你想要「搜索」的模式。這些帳戶(您的案例中的子目錄名稱)。您可以使用findls來獲取每個行的子目錄名稱。 例如:ls -l |grep "^d"|awk '{print $8}'

因此模式文件看起來像:(比如,保存爲pattern.txt)然後

account1 
account2 
account3 

你可以:

grep -FL -f pattern.txt /var/log/maillog* 

這將列出那些的maillog *文件其中不包含您的pattern.txt中的帳戶。如果你想那些輸出保存爲一個文件,只是> file

注意,上述所有未測試,只是如何解決該問題的想法重定向

。希望能幫助到你。

+0

謝謝你的回答!當然給了我一個關於如何進行的想法。 :-) –