/var/spool/postfixでegrepを使用すると、何も返されません。

/var/spool/postfixでegrepを使用すると、何も返されません。

私のコンピュータはCentOS 7.1を使用しています。にあるすべてのファイルを検索しようとしています/var/spool/postfix

私がこれを達成したい方法は次のとおりです。

$ egrep -lir --include="*.*" "[email protected]" ./ > /root/results.txt

ただし、検索は常に空(results.txt生成されたが内部には何もありません)を返します。@問題がある可能性があると考えて、--include検索範囲を次のように減らしました。

$ egrep -lir "somedomain.com" ./ > /root/results.txt

しかし、これも何の結果も得られませんでした。私が探している文字列を含むファイルが少なくとも1つ以上あると確信しているので、*.txtに少なくとも1つの結果が必要です。

を使用して、目的の文字列を含むファイルをどのように見つけることができますかegrepこれが不可能な場合は、別の検索方法を使用できます。

なぜこの/背景が必要なのですか?

誤った電子メールアカウントとパスワードの選択により、コンピュータは約50万のスパムメッセージを送信するために使用され、スパムメッセージは迅速に返送され、ハードドライブがいっぱいになり始めました。問題のあるメールアカウントは削除され、端末はオフラインになりました。今/var/spool/postfix/defer、入って来るすべてのEメールの中から特定のEメールを見つけようとしています/var/spool/postfix/deferred

バリアントが利用できるようですが、フィルタ処理された結果を返す他のコマンドを使用してこれを実行したいとmailq > /root/results.txt思います。egrep, grep, find

答え1

GNUはgrepスイッチを使用して正規表現検索を実行できるため、-E使用する必要はありませんegrep

私は次のことをします:

$ grep -rilE '[email protected]' . | tee /root/results.txt

端末で結果を見たくない場合は、| teeaに変更できます。>

引用する

関連情報