Unixでファイル名のリストを繰り返します。

Unixでファイル名のリストを繰り返します。

Unixディレクトリにファイル名は同じですが、拡張子が異なるファイルがあるとします。例えば

abc.001
abc.002
abc.003

n個のファイルがある可能性があります。

まず、ディレクトリからファイルをインポートしてから、各ファイルを繰り返す必要があります。以下のコマンドを使用してファイルをインポートしていますが、誰でも各ファイルを繰り返し処理し、各ファイルを読み取って処理するのに役立ちます。 ?

find "/tmp/files/" -name "abc.*" -type f -exec echo {} \;

答え1

繰り返す理由は何ですか?grep一度に複数のファイルパラメータを許可するため、

grep PATTERN abc.*

動作する必要があります。

ファイルがすべて同じディレクトリにない場合は、オプションでfind次のものを使用できます。

find /tmp/files -name 'abc.*' -type f -exec grep PATTERN /dev/null {} +

最後に、一度にできるだけ多くのファイルを渡すように指示+します。これは少なくとも2つのファイルが渡されるようにするためであるため、一致するすべてのファイル名が常に出力されます。 GNUの場合(aka)オプションを使用できます。findgrep/dev/nullgrepgrepgrep-H--with-filename

関連情報