ls -ld */
Это даст вам каталоги в текущем каталоге в
ls
длинном формате в лексикографическом порядке. Если файл является символической ссылкой на каталог, он также будет указан как каталог.Если у вас есть
ls
псевдоним для чего-то, используйтеcommand ls
или\ls
вместоls
выше.Конечная косая черта после
*
гарантирует, что*
расширяется только до каталогов (, возможно, путем разрешения символических ссылок ), и он также будет включен в вывод. Опция-d
гарантирует, что будут перечислены сами каталоги, а не их содержимое.Как указывает Джефф , называть свой псевдоним
ld
— плохая идея, поскольку оно противоречит имени существующей утилиты.
Если все файлы содержат только одну строку:
find /some/dir -type f -exec awk '{print FILENAME ": " $0}' {} +
В противном случае напечатайте одну строку с именем файла в качестве заголовка:
find /some/dir -type f -exec awk 'FNR<2{print FILENAME ":"}1' {} +
С GNU grep
(, которая является реализацией, найденной в CEntOS )или совместимой:
grep -r '^' /some/dir
Регулярное выражение ^
соответствует началу каждой строки, поэтому соответствует каждой строке. grep
добавляет имя файла к каждой соответствующей строке. Вы также можете добавить опцию -n
для включения номеров строк.
POSIXly:
find /some/dir -type f -exec grep '^' /dev/null {} +
Мы добавляем /dev/null
, чтобы убедиться, что grep
печатает имя файла, даже если список файлов состоит только из одного элемента.