파일 이름에 다른 타임스탬프가 있는 디렉터리에 파일 목록이 있습니다. 파일 이름의 타임스탬프를 기준으로 파일을 정렬하고 싶습니다. (파일의 time/-t 속성을 기준으로 정렬하고 싶지 않습니다. 대신 파일 이름의 타임스탬프를 기준으로 정렬하고 싶습니다.)
디렉터리의 예제 파일:
ABC.20200131224353
ABC.20080131214253
ABC.20200131234153
나는 ls
기본적으로 파일 이름별로 정렬하기 때문에 일반을 사용합니다. 하지만 모든 상황에서 제대로 작동하는 것은 아닙니다. 예를 들어, 파일의 연도가 "2008"인 경우 해당 파일은 가장 오래된 파일로 간주되지 않습니다.
답변1
이 예제를 조금 확장하면 다음과 같습니다.
ABC.20020131224353
ABC.20080131214253
ABC.20200131234153
ABC.20220131224353
ABC.20040131214253
ABC.20200131234153
find
다음 을 사용할 수 있습니다 sort
.
$ find . -type f -regextype posix-extended -regex '^.*\.[0-9]{14}$' | sort -t. -k3,3
./ABC.20020131224353
./ABC.20040131214253
./ABC.20080131214253
./ABC.20200131224353
./ABC.20200131234153
./ABC.20220131224353
답변2
당신이 원하는 것은 -X
GNU 로의 전환 입니다 ls
. 예를 들어, 내 문서 디렉토리 중 하나에 /bin/ls -lX
다음이 반환됩니다.
-rw-r--r-- 1 me me 26595 Oct 28 10:39 "Mom's Books.ods"
-rw-r--r-- 1 me me 80977 Jan 29 16:47 'My Investments.ods'
-rw-r--r-- 1 me me 21338 Dec 20 12:31 'Good-Bad Foods.odt'
-rw-rw-r-- 1 me me 51614 Jan 27 19:12 'Neuropathy Exercises.odt'
-r-------- 1 me me 151 Jan 11 21:35 brave-browser-sync.txt
-r-------- 1 me me 474 May 19 2020 brave_wallet_recovery.txt
-r-------- 1 me me 882 Jan 30 13:39 seckeys.txt
-r-------- 1 me me 120 Aug 20 11:48 toms-hardware-recovery.txt