며칠보다 오래된 파일을 가져와서 ls
크기와 모든 정보(크기, 전체 경로 등 - 제공된 내용과 유사)를 기준으로 내림차순으로 정렬하려고 합니다.
이전 파일을 찾을 수는 있지만 다음과 같습니다.
find . -mtime +10
필수 정보를 나열할 수 없습니다.
답변1
전제는 파일 경로입니다.원하지 않는다개행 문자를 포함합니다:
find . -mtime +10 -printf "%s %n %m %u %g %t %p" \( \
-type l -printf ' -> %l\n' -o -printf '\n' \) | sort -k1,1 -n
바라보다find
수동, 부분 Actions
.
답변2
이 명령은 find
다음의 POSIX 기능 만 사용합니다 ls
.
find . -type f -mtime +10 -exec ls -lS {} +
그러나 그것은가능한ls
여러 번 호출되었습니다(있는 경우).매우 크다홈 디렉토리와 일치하는 현재 디렉토리(또는 재귀적으로 하위 디렉토리)에 있는 파일 수입니다 -mtime +10
.
물론 ls
여러 번 호출되는 경우 정렬은 ls
여러 실행에 걸쳐 수행되지 않고 각 실행에서만 수행됩니다.
그러나 파일 수가 적당하다면 이것이 최선의 선택일 수 있습니다.
답변3
그리고 zsh
:
ls -ldrS -- **/*(m+10)
또는 이중 정렬을 피하세요(zsh를 통해 이름으로 정렬, ls를 통해 크기로 정렬).
ls -ldrS -- **/*(m+10oN) # disable zsh sorting
또는 ( 정렬되지 않은 것을 ls
지원하는 경우 -U
):
ls -ldU -- **/*(m+10oL) # disable ls sorting and have zsh sort by size
D
숨겨진 파일도 보려면 glob 한정자를 추가하세요.
답변4
이 시도:
find ./ -type f -mtime +10 -exec ls -ln {} \; | sort -r -k 5 -g