1. ホーム
  2. bash

[解決済み] Linuxのfindコマンドとgrepコマンドを一緒に使う

2022-03-01 05:44:13

質問

次の2つのコマンドを実行し、出力を一覧表示できるコマンドを探すか、Linuxスクリプトを作成しようとしています。

find . -name '*bills*' -print

これはすべてのファイルを表示します。

./may/batch_bills_123.log
./april/batch_bills_456.log
..

この結果から、ある単語を grep したいのですが、今は手動でやっています。

grep 'put' ./may/batch_bill_123.log 

を取得し

sftp > put oldnet_1234.lst

ファイル名とその一致を取得することを希望します。

./may/batch_bills_123.log   sftp > put oldnet_1234.lst
..
..
and so on... 

何か思い当たることはありますか?

解決方法は?

あなたが探しているのは -H オプションを使用します。

find . -name '*bills*' -exec grep -H "put" {} \;

以下はその説明です。

    -H, --with-filename
      Print the filename for each match.