pwd
подходящий для Ваших потребностей? Это дает полный путь текущего каталога. Или возможно то, что Вы хотите, является realpath ().
Портативно:
find . -type d -exec sh -c 'printf "%s/\n" "$0"' {} \; -or -print
Если Вы готовы перечислить каталоги и файлы отдельно (можно объединить вывод путем сортировки):
{ find . -type d -print | sed 's!$!/!'; find . \! -type d; } | sort
С GNU найдите, см. ответ Shawn J. Goff.
Если Вы готовы рискнуть непечатаемыми символами, искажаемыми, не производя к терминалу, см. ответ ddeimeke.
В zsh: print -rl -- **/*(DM)
(D
включать точечные файлы, M
добавить a /
после каталогов)
find . \( -type d -printf "%p/\n" , -type f -print \)
Это использует команду printf для форматирования имен каталогов и стандартной печати для остальных.
find
позиционные параметры позволяют этому делать усовершенствованный вывод как это. Однако обратите внимание, что без пробелов вокруг запятой, это не будет работать.
– jimp
16.08.2017, 18:52
find . -type d -printf '%p/\n' -or -print
– Teresa e Junior
11.11.2017, 06:38
Возможно,
find . -print0 | xargs -0 ls -Fd
опция также.
Из страницы справочника Соляриса:
- Каталоги F Marks с запаздывающей наклонной чертой (/), двери с больше запаздыванием - чем знак (>), исполняемые файлы с запаздывающей звездочкой (*), FIFOs с запаздывающей вертикальной панелью (|), символьные ссылки с запаздыванием "в" знаке, и семейство адресов AF_UNIX снабжают сокетом со знаком trailingequals (=). Следует за символьными ссылками, названными как операнды.