「h」で始まり「enu」を含むファイル名をファイルディレクトリで検索しようとしていますか?
これまでのところ、これは私が持っているものですが、1つのコマンドラインで両方のgrepステートメントを処理する方法がわかりませんか?
find fs282/path/web/en_US.dic -exec grep "^h" {} \;
ファイル名を確認するには、find
の-name
条件を使用します。通常のファイル名パターンを取る必要があるため、h*enu*
は必要なものと一致します。
find /some/path -name "h*enu*"
grep
は、代わりにファイルの内容を1行ずつ確認するため、パターンに一致する行を検索します。
find /some/path -type f -exec grep '^h.*enu' /dev/null {} +
(出力は、ファイル名だけでなく、行になります。)
grep
は、-name
のグロブワイルドカードではなく、正規表現を想定しています。また、grep
は一致を探しますwithin-name
との完全一致とは対照的に、行の先頭にパターンを固定するために^
。 /dev/null
は、一致するファイルが1つしかない場合でも、一致する行ごとにファイル名が常に出力されるようにするためだけにあります。 GNU grep
の実装では、代わりに-H
オプションを使用できます。