0

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

/example.org
  /account1
  /account2
  /account3

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

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

我该怎么做?

4

1 回答 1

1

我会用 grep 来做。

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

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

account1
account2
account3

那么你可以:

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

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

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

请注意,以上所有内容都没有经过测试,只是关于如何解决问题的想法。希望能帮助到你。

于 2012-10-08T12:42:38.487 回答