[unix] UNIX에서 디렉토리 만 나열

지정된 경로의 디렉토리 만 나열하고 싶습니다 ( ls이러한 옵션은 없습니다). 또한 한 줄 명령 으로이 작업을 수행 할 수 있습니까?



답변

ls -d */현재 디렉토리 내의 디렉토리를 나열하려면 이것을 시도하십시오


답변

이 시도:

find . -maxdepth 1 -type d


답변

다음과 같은

find * -maxdepth 0 -type d

기본적으로 조건에 따라 ‘*’의 확장, 즉 현재 디렉토리의 모든 항목을 필터링합니다 -type d.

이점은 출력이와 동일 ls -1 *하지만 디렉토리 및 항목 만 도트로 시작하지 않는다는 것입니다.


답변

ls -d */또는 사용할 수 있습니다tree -d

또 다른 해결책은 globbing이지만 이것은 사용중인 쉘과 디렉토리 globbing이 지원되는지 여부에 따라 다릅니다.

예를 들어 ZSH :

zsh # ls *(/)


답변

그것을하는 수십 가지 방법이 있기 때문에 여기 또 다른 방법이 있습니다.

tree -d -L 1 -i --noreport
  • -d : 디렉토리
  • -L : 나무의 깊이 (따라서 작업 디렉토리 1)
  • -i : 들여 쓰기 없음, 인쇄 이름 만
  • –noreport : 트리 목록 끝에 정보를보고하지 않습니다

답변

ls -l | grep '^d'

별명을 작성하여 프로파일 파일에 넣을 수 있습니다.

alias ld="ls -l| grep '^d'"


답변

find . -maxdepth 1 -type d -name [^\.]\* | sed 's:^\./::'