Список файлов, соответствующих шаблону, когда слишком много для bash globbing

Я хотел бы запустить следующее:

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? Мне нужно распечатать полные пути к файлам.

Ответ 1

Здесь find в сочетании с xargs поможет.

find /path/to/files -name "pattern*" -print0 | xargs -0 ls

Примечание от комментариев: xargs поможет, если вы хотите сделать это со списком после его получения из find. Если вы только планируете перечислить файлы, то find должно быть достаточно. Однако, если вы хотите copy, delete или выполнить любое действие в списке, то использование xargs вместо -exec поможет.