find 명령이 디렉토리 뒤에 슬래시를 표시하도록 하려면 어떻게 해야 합니까? 예를 들어 으로 대신 dir
표시 하고 싶습니다 . 나는 그것을 사용하고 있다dir/
dir
find . -print
답변1
find . \( -type d -printf "%p/\n" , ! -type d -print \)
이는 printf
명령을 사용하여 표준 인쇄를 위해 디렉토리 이름과 나머지 이름의 형식을 지정합니다.
답변2
가지고 다닐 수 있는:
find . -type d -exec sh -c 'printf "%s/\n" "$0"' {} \; -or -print
디렉터리와 파일을 별도로 나열하려는 경우(정렬하여 출력을 병합할 수 있음):
{ find . -type d -print | sed 's!$!/!'; find . \! -type d; } | sort
GNU 찾기를 사용하여 다음을 참조하세요.Sean J. Goff의 답변.
터미널에 출력하지 않아도 인쇄할 수 없는 문자가 손상될 위험이 있는 경우 다음을 참조하세요.Dedymek의 답변.
zsh에서: ( 도트 파일 print -rl -- **/*(DM)
포함 , 다시 디렉토리 추가 )D
M
/
답변3
아마도
find . -print0 | xargs -0 ls -Fd
그것은 또한 옵션입니다.
Solaris 매뉴얼 페이지에서:
-F 후행 슬래시(/)가 있는 디렉터리, 후행보다 큼 기호(>)가 있는 디렉터리, 후행 별표(*)가 있는 실행 파일, 후행 파이프(|)가 있는 FIFO 및 후행 " at 기호 링크가 있는 기호 링크를 표시합니다. " 기호(@) 및 AF_UNIX는 후행 등호(=)가 있는 패밀리 소켓을 주소 지정합니다. 피연산자라는 기호 링크를 따릅니다.
답변4
나는 후행 /를 원하지만 별표는 원하지 않습니다. -print도 생략할 수 있습니다:
find . | xargs ls -Fd | sed -e "s/*//"