ls: 타임스탬프가 이름과 동일한 경우 타임스탬프를 기준으로 정렬(역방향) 정렬(역방향 아님)

ls: 타임스탬프가 이름과 동일한 경우 타임스탬프를 기준으로 정렬(역방향) 정렬(역방향 아님)

역방향 타임스탬프를 기준으로 디렉토리를 정렬하고 싶지만 타임스탬프의 이름 순서가 동일한 경우(역방향 아님)

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

관련 정보