파일을 숫자순으로 정렬

파일을 숫자순으로 정렬

중복 가능성:
숫자순으로 정렬된 파일 나열

마지막 필드의 번호를 기준으로 정렬하려면 어떻게 해야 합니까? 나는 전에 시도했습니다 sort -t ' ' -k9,10n:

-rw-r--r-- 1 root   root    440 May 14 08:52 test.txt.6
-rw-r--r-- 1 root   root    470 May 14 08:52 test.txt.8
-rw-r--r-- 1 root   root   2.6K May 14 08:52 test.txt.14
-rw-r--r-- 1 root   root    449 May 14 08:52 test.txt.7
-rw-r--r-- 1 root   root    434 May 14 08:52 test.txt.13
-rw-r--r-- 1 root   root    554 May 14 08:52 test.txt.4
-rw-r--r-- 1 root   root    426 May 14 08:52 test.txt.12
-rw-r--r-- 1 root   root   1.6K May 14 08:52 test.txt.5
-rw-r--r-- 1 root   root   7.2K May 14 08:52 test.txt.11
-rw-r--r-- 1 root   root    444 May 14 08:52 test.txt.3
-rw-r--r-- 1 root   root    927 May 14 08:52 test.txt.9
-rw-r--r-- 1 root   root    681 May 14 08:52 test.txt.15
-rw-r--r-- 1 root   root    427 May 14 08:52 test.txt.2
-rw-r--r-- 1 root   root    458 May 14 08:52 test.txt.16
-rw-r--r-- 1 root   root   2.4K May 14 08:52 test.txt.10
-rw-r--r-- 1 root   root    423 May 14 08:52 test.txt.17
-rw-r--r-- 1 root   root    424 May 14 08:52 test.txt.1

답변1

음, 문제의 일부는 -t ' '구분 기호가 접혀지지 않아서 9번째 열의 크기가 4자이고 3자가 비어 있다는 것입니다. 그것을 제거하면 원하는 접힌 공백이 생깁니다. 다른 사람들이 말했듯이 문제의 또 다른 부분은 필드가 숫자가 아니라는 것입니다. 다행히도 버전 번호와 매우 유사하며 -V버전 sort()를 사용하여 정렬할 수 있습니다. 또한 연속된 경우(예: 1-17, 누락 없음) 다른 스레드에서 언급한 것처럼 중괄호를 사용할 수 있습니다( test.txt.{1..17}).

ls -l | sort -Vk9

echo test.text.{1..17}

답변2

다음 명령을 사용하면 원하는 방식으로 정렬할 수 있습니다. ls-lv

답변3

정렬을 사용할 때 흔히 저지르는 실수는 숫자로 정렬할 때 "-n" 매개변수를 사용하지 않는 것입니다.

관련 정보