Shell脚本:搜索目录中每个文件夹名称的maillog

时间:2012-10-08 12:29:47

标签: shell

我有一个包含子文件夹的文件夹:

/example.org
  /account1
  /account2
  /account3

我想搜索/ var / log / maillog,/ var / log / maillog.1,/ var / log / maillog.2等,以查找帐户文件夹名称的出现次数。

如果没有出现,我想将其记录到文件中。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我会用grep。

来做

首先你必须得到你想要“搜索”的模式。那些帐户(在您的情况下为子目录名称)。您可以使用findls来获取每行的子目录名称。 例如:ls -l |grep "^d"|awk '{print $8}'

所以模式文件看起来像:(比如,保存为pattern.txt)

account1
account2
account3

然后你可以:

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

这将列出那些在你的pattern.txt中不包含帐号的maillog *文件。

如果您希望将这些输出保存为文件,只需使用> file

重定向即可

请注意,以上所有内容均未经过测试,只是了解如何解决问题。希望它有所帮助。