가장 큰 디렉터리와 파일을 모두 재귀적으로 찾는 방법에 대한 항목은 많은 것 같지만 du
디렉터리 집합에서 가장 큰 파일만 재귀적으로 찾는 방법에 대한 항목은 없는 것 같습니다.
기본적으로 가장 많은 양의 데이터가 포함된 디렉토리가 아닌 음악 라이브러리에서 가장 큰 .mp3 파일을 찾는 명령을 찾고 있습니다.
저는 OSX 10.8 시스템에서 bash를 사용하고 있습니다.
답변1
이렇게 해야 합니다(GNU 찾기 및 정렬 사용).
find . -type f -iname '*.mp3' -printf "%b %p\0" | sort -zn | tr \\0 \\n
파일 크기를 인쇄하지 않으려면 파일 이름만 인쇄하세요.
find . -type f -iname '*.mp3' -printf "%b %p\0" | sort -zn | awk -v RS=\\0 '{ gsub("^[0-9]+ ", "") ; print }'
답변2
나는 다음을 사용할 것이다:
du -a Music/ | grep "\.mp3$" | sort -n | tail -n1
제공된 Music
디렉토리는 다음과 같습니다.
답변3
zsh 사용:
ls -ld -- **/*.mp3(.DOL[1,5])
5개의 가장 큰 일반 파일이 나열됩니다(디스크 사용량이 아닌 파일 크기 측면에서, 이는 반드시 동일하지는 않음). GNU에서는 크기가 줄어드는 순서대로 표시되도록 ls
추가합니다 .-U
디스크 사용량은 다음과 같아야 합니다.
zmodload zsh/stat
zdu() zstat -A REPLY +block -- $REPLY
du -- **/*.mp3(.nDO+zdu[1,5])
물론 MP3의 재생 시간(초)과 같이 파일과 관련된 다른 측정항목에 맞춰 이를 조정할 수 있습니다.
mp3_duration() REPLY=$(exiftool -p '$Duration#' - < $REPLY)
print -rl -- **/*.mp3(.nDO+mp3_duration[1,5])
답변4
내 초기 가정은 틀렸습니다. 이 질문에는 이미 답변이 있습니다.여기:
find . -type f -print0 | xargs -0 du -s | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
하지만 나는 여전히 당신에게 추가 점수를 줍니다.