디렉터리 및 하위 디렉터리에서 가장 큰 파일을 찾는 가장 빠른 방법

디렉터리 및 하위 디렉터리에서 가장 큰 파일을 찾는 가장 빠른 방법

현재 디렉터리와 후속 디렉터리에서 가장 큰 파일을 찾아야 합니다. 나는 노력했다

ls -Rlh | awk '{print $3 " " $5 " " $9}' 

그러나 가능한지, 가장 큰 파일을 정렬하고 선택하는 방법은 모릅니다.

답변1

암소 비슷한 일종의 영양find+sort+head파일 경로에 개행 문자가 포함되어 있지 않다고 가정하여 해결 방법(모든 디렉터리 깊이 수준):

find . -type f -printf "%s %p\n" | sort -nr | head -1
  • %s- 파일 크기를 바이트 단위로 가리키는 형식 지정자
  • %p- 파일 이름을 가리키는 형식 지정자
  • sort -nr- 레코드를 숫자에 따라 역순으로 정렬합니다.
  • head -1- TOP 첫 번째 라인/레코드 인쇄

하나 얻으려면사람이 읽을 수 있는파일 크기 값 - GNU 명령을 사용하여 파이프를 확장합니다 numfmt(지원되는 경우).

find . -type f -printf "%s %p\n" | sort -nr | head -1 | numfmt --to=si

답변2

zsh가장 큰 일반 파일의 경우 :

ls -ld -- **/*(.DOL[1])

(물론 ls -ld --어떤 명령으로든 바꿀 수 있습니다. GNU ls또는 호환 버전을 사용하는 경우 -h옵션 도 참조하세요.사람이 읽을 수 있는 크기)

  • .: 오직정기적인파일(디렉토리, 심볼릭 링크, 장치, FIFO가 아님...)
  • D:숨겨진 디렉터리를 포함하고 숨겨진 디렉터리를 입력합니다.
  • OL: 사이즈(길이)에 따라 내림차순으로 정렬됩니다 L.
  • [1]: 첫 번째 게임에만 해당됩니다.

동점이면 둘 중 하나를 무작위로 받게 됩니다. 먼저 알파벳순으로 정렬하려면 추가 on( order by name)를 추가하여 관계를 알파벳순으로 정렬하세요.

관련 정보