コマンドを見つけるか、この2つのコマンドを実行して出力を一覧表示できるLinuxスクリプトを作成しようとしています。
find . -name '*bills*' -print
これはすべてのファイルを印刷します
./may/batch_bills_123.log
./april/batch_bills_456.log
..
この結果から、Wordの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...
何か案は?
Gnu grepで-H
オプションを探しています。
find . -name '*bills*' -exec grep -H "put" {} \;
-H, --with-filename
Print the filename for each match.
質問がより明確になったので、1つでこれを行うことができます grep
grep -R --include "*bills*" "put" .
関連するフラグ付き
-R, -r, --recursive
Read all files under each directory, recursively; this is
equivalent to the -d recurse option.
--include=GLOB
Search only files whose base name matches GLOB (using wildcard
matching as described under --exclude).