2012-04-02 6 views
0

私は次のコマンドを実行しています。 cat/Users/sars/logs/testlogs/2012-04-02 */*/top |はgrep -H「のhttpd」catとgrepを使ってたくさんのファイルを探し、ファイル名を保持しながら私に情報を与えてください

私は(実際に私が探しています情報です)ディレクトリの束があるので、*を使用して、トップ出力

でフレーズのhttpdを探しています。しかし私がこれをすると、標準入力となります:4951 root 1 96 0 14052K 6844K 2を選択0:12 0.00%httpd
ファイル名の代わりに

これらのディレクトリを調べるには、トップファイルを見て、見つかったファイルの名前とパスを維持しながら、その中にhttpdを含む行を見つけますか?

答えて

0

grepは、引数としてファイル名を取ることができます。

grep -H "httpd" /Users/sars/logs/testlogs/2012-04-02*/*/top 
+0

私はそれを試みましたが、何も返しません。上記のコマンドを実行すると、結果が返されますが、ファイル名の代わりに標準入力が使用されます。 –

+0

grep -lはファイル名を返しますが、内容は表示されません。 –

+0

実際にうまくいってくれてありがとう –

0

ackは、この種のもののために良いツールですが、標準ではありません。 grepでそれを行うには、おそらくfind:

find /Users/sars/logs/testlogs -type f \ 
    -wholename '/Users/sars/logs/testlogs/2012-04-02*/*/top/*' \ 
    -exec grep -H httpd {} \; 
関連する問題