Несмотря на название вашего вопроса, я хочу представить вам решение с помощью find . У него есть опция регулярного выражения (-regex), поэтому [0-9]* будет сопоставлять имена файлов, состоящие исключительно из цифр.
Чтобы найти только файлы (-type f) рекурсивно ниже текущего каталога (.) Используйте
find . -type f -regex ".*/[0-9]*"
.*/ В регулярном выражении является необходимым, потому что регулярное выражение " является совпадением на всем пути, а не поиском. " (man find). Поэтому, если вы хотите найти только файлы в текущем каталоге, используйте \./ вместо этого:
find . -type f -regex "\./[0-9]*"
Тем не менее, это не очень оптимально, так как поиск выполняет рекурсивно и в этом случае, и только после этого отфильтровывает желаемые результаты.