Я ищу способ перечисления всех файлов в каталоге, кроме самих каталогов, и файлов в этих подкаталогах.
Итак, если у меня есть:
./test.log ./test2.log ./directory ./directory/file2
Мне нужна команда, которая возвращает: ./test.log ./test2.log и ничего больше.
Если вы хотите test.log, test2.log и file2, тогда:
test.log
test2.log
file2
find . -type f
Если вы не хотите file2, тогда:
find . -maxdepth 1 -type f
Если вам нужны символические ссылки, каналы, файлы устройств и другие специфические элементы файловой системы, вы должны использовать:
find -maxdepth 1 -not -type d
В этом списке будет все, кроме каталогов.
используя find просто как:
Еще один вариант
ls -ltr | grep ^d
$ find . -type f -print
Каждый файл будет в отдельной строке. Вы должны быть в каталоге, который хотите найти.
find /some/directory -type f