역방향 타임스탬프를 기준으로 디렉토리를 정렬하고 싶지만 타임스탬프의 이름 순서가 동일한 경우(역방향 아님)
ls -tr
두 파일의 이름별 타임스탬프 순서는 동일하지만 모드가 반대인 경우 다음을 사용하세요.
답변1
이런 것을 사용할 수 있습니다
stat --printf "%Y %n\0" * | sort -z -k1,1n -k2
# or quoted file names:
stat --printf "%Y %N\0" * | sort -z -k1,1n -k2
- 첫 번째 정렬 기준은 필드 1(
%Y
-> 타임스탬프(정밀도: 초))입니다.N숫자 정렬. - 아니요아르 자형"최신순"과 유사하며
ls -t
이는 이미 정반대이지만 이를 변경하는sort -n
데 사용할 수 있습니다-k1,1nr
. - 두 번째 정렬 기준은 필드 2부터 줄 끝까지(
%n
또는%N
--> 파일 이름) 입니다. - 파일 이름(
\n
.
tr
그런 다음 원하는 대로 형식을 사용 및/또는 수정합니다 sed
.
... | tr '\0' '\n'
# or just print the filenames:
... | sed 's/^[0-9]* //;s/$/\n/;s/\x0[0-9]* /\n/g'
산출:
$ touch d; sleep 1; touch b c; sleep 1; touch a;
$ ls -tr
d c b a
$ stat --printf "%Y %n\0" * | sort -z -k1,1n -k2 | sed 's/^[0-9]* //;s/$/\n/;s/\x0[0-9]* / /g'
d b c a