
현재 디렉토리와 후속 디렉토리에서 가장 큰 파일을 찾아야 합니다. 나는 노력했다
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
ength)에 따라 역순으로 정렬됩니다.[1]
: 첫 번째 일치만 해당됩니다.
동점인 경우 무작위로 하나를 얻게 됩니다. 첫 번째 항목을 알파벳순으로 원할 경우 추가 항목 on
( o
rder by n
ame)을 추가하여 동점을 알파벳순으로 정렬하세요.