태그 보관물: ls

ls

파일을 재귀 적으로 나열하고 수정 시간별로 정렬하는 방법은 무엇입니까? fsr

디렉토리 아래의 모든 파일을 재귀 적으로 나열하고 수정 시간별로 출력을 정렬하려면 어떻게합니까?

나는 일반적으로 사용 ls -lhtc하지만 모든 파일을 재귀 적으로 찾지는 않습니다. Linux와 Mac을 사용하고 있습니다.

ls -l Mac OS X에서는

-rw-r--r--    1 fsr  user      1928 Mar  1  2011 foo.c
-rwx------    1 fsr  user      3509 Feb 25 14:34 bar.c

날짜 부분이 일치하지 않거나 정렬되지 않은 경우 솔루션에서이를 고려해야합니다.

부분 솔루션

stat -f "%m%t%Sm %N" ./* | sort -rn | head -3 | cut -f2-

작동하지만 재귀 적으로는 아닙니다.



답변

stat@ johnshen64가 제안한대로 사용하는 방법은 다음과 같습니다.

find . -type f -exec stat -f "%m%t%Sm %N" '{}' \; | sort -rn | head -20 | cut -f2-

답변

사용 find-printf와 종류의 합리적인 날짜 형식에 :

find -type f -printf '%T+\t%p\n' | sort -n

이는 프로세스 포크를 최소화하여 가장 빠릅니다.

소수 부분이 마음에 들지 않는 경우의 예 (파일 시스템에서 종종 구현되지 않는 경우) :

find -type f -printf '%T+\t%p\n' | sed 's/\.[[:digit:]]\{10\}//' | sort -n
find -type f -printf '%T+\t%p\n' | cut --complement -c 20-30 | sort -n

편집 :find Mac의 표준 에는 없습니다 -printf. 그러나 Mac에서 GNU find설치하는 것은 어렵지 않습니다 (Mac / Linux 호환성 및에 관한 추가 경고는 해당 링크 참조 xargs).


답변

find .모든 파일을 얻을 수 있어야합니다. 이 같은:

find . -exec ls -dl '{}' \; | sort -k 6,7

필요에 따라 조정해야합니다.


답변

zsh를 사용하고 있었기 때문에 Unix Stack Exchange 사이트에서 비슷한 질문에 대한이 답변이 도움이되었습니다.

수정 날짜순으로 정렬 된 파일을 재귀 적으로 나열하는 방법 (stat 명령을 사용할 수 없음)


답변