質問: ディレクトリ内のすべてのファイルをgrepし、ファイル名と一致するものを印刷します 作成したビデオエンコーディングスクリプトの一部として作成したログファイルのリストがあります。それらすべてを検索し、エンコードから特定の統計を出力したいと思います-エンコードの速度、使用された設定など。この1つのライナーを介して、1つのファイルで平均フレームレートを検索できます。cat ${filename} | grep average 出力: work: average encoding speed for job is 23.211176 fps レートファクターを検索します。cat ${filename} | grep rf ディレクトリ内のすべてのファイルを検索して、ファイル名と一緒に1つ、またはできれば両方の情報を印刷したいと思います。 findまたはgrepを使用してこれをワンライナーで取得する方法はありますか、それともスクリプトを作成する必要がありますか?私はこのような出力が欲しいです:/home/javanix/filename.log <rf line> <average line> freebsd9またはubuntu12.04を使用してこれを機能させたいと思います。
回答: これはgrepでのみ実行できると思います。grep -srhe 'average|rf' path/ sはエラーを抑制し、rは再帰的、hはファイル名を表示し、e(およびパイプ)は一致しますany =両方のパターンの。