2016-08-24 1 views
0

コマンドcd dir && find . -name "*.html"を実行すると、サブディレクトリ内のhtmlファイルを含むすべてのhtmlファイルが完全に表示されます。しかし、私がコマンドcd dir && find . -name "*.html" | for f in *.html; do "action"; doneを実行すると、現在のディレクトリで私のためにループするだけですが、サブディレクトリのhtmlファイルは変更されません。私はforループにfindを組み込もうとしましたが、エラーメッセージが出ました。findでのファイルパイプ

答えて

0

あなたが実際には、現在のディレクトリ内のhtmlファイルをリストアップ、それは実際にls *.htmlに相当します

... for f in *.html; ... 

あなたは、およびフィルタリングしませんでした

cd dir && find . -name "*.html" | while read f; do "action"; done 

としてそれを書き換えることができますパイプから受信したリスト(無視されます)