문제
정렬 할 수 있습니까? ls 이름으로 목록?
해결책
내 LS는 기본적으로 이름별로 정렬됩니다. 당신은 무엇을보고 있습니까?
man ls
상태 :
List information about the FILEs (the current directory by default). Sort entries alpha‐betically if none of -cftuvSUX nor --sort is specified.
:
다른 팁
간단한 것을 위해 결합 할 수 있습니다 ls ~와 함께 종류. 파일 이름 목록 만 :
LS -1 | 종류
역 순서로 정렬하려면 :
LS -1 | 정렬 -r
ls
~에서 coreutils
수행 a 로케일 인식 기본적으로 정렬하면 경우에 따라 놀라운 결과를 얻을 수 있습니다 (예 : %foo
사이를 정렬합니다 bar
그리고 quux
안에 LANG=en_US
). Asciibetical 종류를 원한다면 사용하십시오
LANG=C ls
*닉스 도구의 아름다움은 다음을 결합 할 수 있다는 것입니다.
ls -l | sort -k9,9
출력 ls -l
이렇게 보일 것입니다
-rw-rw-r-- 1 luckydonald luckydonald 532 Feb 21 2017 Makefile
-rwxrwxrwx 1 luckydonald luckydonald 4096 Nov 17 23:47 file.txt
그래서 9,9
당신은 칼럼을 정렬합니다 9
열까지 9
, 파일 이름입니다. 이 경우 동일한 열인 중지 할 위치를 제공해야합니다. 열은 시작합니다 1
.
또한 상류/소문자를 무시하려면 추가하십시오. --ignore-case
정렬 명령에.
주석 : "a"는 "Z"를 뒤 따릅니다.
$ touch a.txt aa.txt z.txt
$ ls
a.txt z.txt aa.txt
숫자 문자열에 의해서만 다른 파일은 분리기가 선행되는 조건 에서이 숫자로 정렬 할 수 있습니다.
이 경우 다음 구문을 사용할 수 있습니다.
ls -x1 file | sort -t'<char>' -n -k2
예시:
ls -1 TRA*log | sort -t'_' -n -k2
TRACE_1.log
TRACE_2.log
TRACE_3.log
TRACE_4.log
TRACE_5.log
TRACE_6.log
TRACE_7.log
TRACE_8.log
TRACE_9.log
TRACE_10.log
Man Page (Bash LS의 경우) :
-cftusux 나 -sort가 없으면 항목을 알파벳순으로 정렬하십시오.
당신을 확인하십시오 .bashrc
별칭 파일.
그만큼 ls
유틸리티는 IEEE STD 1003.1-2001을 준수해야합니다.POSIX.1
)
22027 : 현재 로케일의 협력 시퀀스에 따라 디렉토리 및 비 디렉토리 오페라를 개별적으로 정렬해야합니다.
26027 : 기본적으로 형식은 지정되지 않지만 출력은 알파벳순으로 정렬되어야합니다 기호 이름으로 :
- -a가 지정된 경우 라이브러리 또는 객체 이름
- 기호 이름
- 기호 유형
- 기호의 가치
- 적용 가능한 경우 기호와 관련된 크기
LS -X는 LS를보다 유용한 기본값으로 한 경우 해당 목적을 위해 작동합니다.
In Debian Jessie, this works nice:
ls -lah --group-directories-first
# l=use a long listing format
# a=do not ignore entries starting with .
# h=human readable
# --group-directories-first=(obvious)
# Note: add -r for reverse alpha
# You might consider using lh by appending to ~/.bashrc as the alias:
~$ echo "alias lh='ls -lah --group-directories-first'" >>~/.bashrc
# -- restart your terminal before using lh command --