0

サブフォルダーを含むフォルダーがあります。

/example.org
  /account1
  /account2
  /account3

/var/log/maillog、/var/log/maillog.1、/var/log/maillog.2などでアカウントフォルダ名の出現を検索したい。

発生がない場合は、ファイルに記録したいと思います。

どうすればいいですか?

4

1 に答える 1

1

私はgrepでそれを行います。

まず、「検索」したいパターンを取得する必要があります。それらのアカウント(あなたの場合はサブディレクトリ名)。findまたはを使用lsして、これらのサブディレクトリ名を1行ごとに取得できます。例えば: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 に答える