디렉토리를 알파벳순으로 내림차순으로 정렬해야 하는데 정렬 파이프라인이 작동하지 않습니다.
alias ld='ls -altp | grep ^d|sort -n'
답변1
ls -ld */
그러면 현재 디렉토리의 긴 형식의 목차가 ls
사전순으로 정렬되어 제공됩니다. 파일이 디렉토리에 대한 심볼릭 링크인 경우 파일도 디렉토리로 나열됩니다.
ls
어떤 항목에 별칭을 사용하는 경우 위 대신 command ls
또는를 사용하세요 .\ls
ls
뒤에 오는 슬래시는 디렉터리만 확장되고(심볼릭 링크를 확인하여) 출력에도 포함되도록 합니다 *
. *
이 -d
옵션을 사용하면 디렉토리 내용이 아닌 디렉토리 자체가 나열됩니다.
~처럼제프는 지적한다, 별칭 이름을 지정하는 ld
것은 기존 유틸리티 이름과 충돌하기 때문에 좋지 않습니다.
답변2
출력을 구문 분석하지 마십시오 ls
. 이것은 나쁜 생각이며 기분이 나빠질 것입니다. 대신 find
목차 ls
를 정렬 해 드리겠습니다.그런 다음 출력을 씹으려고하지 마십시오:
$ find . -maxdepth 1 -type d -print0 | xargs -0 ls -ld
다행스럽게도 ls
출력은 기본적으로 이미 사전순으로 정렬되어 있습니다.
더 간단하게는 다음과 같습니다 tree
.
$ tree -d -L 1
답변3
sort
긴 목록을 정렬하라고 하더군요ls
수치적으로. 수정시간( ) ls
순으로 목록을 정렬하라고 지시한 후입니다 !t
단기적인 수정을 위한 최선의 조언은 다음과 같습니다.
ls -d */ | sort # optionally `-f` to sort upper- and lower-case together.
디렉토리를 선택할 수 있는 zsh와 같은 쉘을 사용하는 것이 좋습니다그리고스스로 정렬하십시오.
zsh -c "ls -ld */(on)"
/
디렉토리만 원한다고 지정하는 경우 한정자는 (on)
목록이 디렉토리 이름을 기준으로 정렬됨을 의미합니다.
또한 과부하를 주지 않는 것이 좋습니다.ld
프로그램명.
alias lls='zsh -c "ls -ld */(on)"'