以下を実行したいと思います。
ls /path/to/files/pattern*
取得します
/path/to/files/pattern1
/path/to/files/pattern2
/path/to/files/pattern3
ただし、そのディレクトリのパターンに一致するファイルが多すぎるため、
bash: /bin/ls: Argument list too long
これを行うためのより良い方法は何ですか?たぶんfindコマンドを使用していますか?ファイルへのフルパスを印刷する必要があります。
ここで、find
とxargs
の組み合わせが役立ちます。
find /path/to/files -name "pattern*" -print0 | xargs -0 ls
コメントからの注意:xargs
から取得したリストを使用したい場合は、find
が役立ちます。ファイルを一覧表示するだけの場合は、find
で十分です。ただし、copy
、delete
、またはリストに対して何らかのアクションを実行する場合は、-exec
の代わりにxargs
を使用すると便利です。