"1", "2", ..., "9", "10", "11", ..., "20", "21", ...이라는 파일이 포함된 디렉토리가 있습니다.
"1", "2", ..., "9", "10", "11", ..., "20", "21", ...의 순서로 나열할 수 있습니까?
나는 열심히 노력했다 ls -ls
. 그런 식으로 파일을 나열하지는 않지만 "1", "10", "11", ..., "19", "2", "20", "21", ... 내 생각에는 다음과 같은 기능이 있는 것 같습니다. 이것은 때때로 도움이 될 수 있습니다.
답변1
GNU(대부분의 Linux 배포판에서 사용 가능)의 경우 ls
페이지에서 , ls -v
where 를 사용할 수 있습니다.-v
man
-v natural sort of (version) numbers within text
답변2
GNU가 ls -v
언급되었지만 다른 명령과 마찬가지로 쉘이 이면 zsh
와일드카드 확장이 사용되는 순서에 영향을 줄 수 있습니다.
예를 들어:
printf '%s\n' *(om)
m파일은 수정 시간 (최신 항목부터 가장 오래된 항목) 으로 정렬되어 *(Om)
정렬 순서가 반대로 나열됩니다 (오래된 항목부터 최신 항목까지).
*(n)
파일은 숫자순으로 정렬됩니다. 따라서 ls
GNU가 아니더라도 ls
다음과 같이 할 수 있습니다.
ls -fdl -- *(n)
숫자로 정렬된 목록을 가져옵니다.