x kB/MB/GB보다 큰 파일을 찾아 해당 크기를 표시합니다.

x kB/MB/GB보다 큰 파일을 찾아 해당 크기를 표시합니다.

find특정 크기(바이트, 킬로바이트, 메가바이트 또는 기가바이트 단위)의 모든 파일을 찾고 발견되면 해당 크기를 인쇄하는 간단한 명령(아마도 사용)을 원합니다 .

예를 들어, 이 명령은 10MB보다 큰 모든 파일을 찾지만 안타깝게도 크기는 표시하지 않습니다.

find . -size +10M

또한보십시오:

  1. 1GB보다 크고 6개월이 지난 파일- 치수를 표시하지 않음
  2. 디렉터리 및 디스플레이 크기가 1GB보다 큰 Linux 디스플레이 파일- 승인된 답변이 예상보다 복잡해 보이고 정렬이 필요하지 않습니다.
  3. X 값보다 큰 파일 찾기, 크기별로 정렬, ls 형식으로 표시- 서식이 필요하지 않거나 필요하지 않습니다 ls. 주요 답변은 공백과 함께 작동하지 않을 수 있습니다.
  4. https://linuxconfig.org/how-to-use-find-command-to-search-for-files-based-on-file-size

답변1

어때요?

find -size +10M -exec du -h {} \;

답변2

Min은 GNU find . -size +10M확장입니다. GNU 구현에는 find또 다른 확장이 있습니다. -printf이를 사용하여 다음 파일의 크기를 인쇄할 수 있습니다.

find . -size +10M -printf '%s %p\n'

10MiB(메가바이트가 아닌 메가바이트)보다 큰 파일의 크기와 용량을 보고합니다 s.p

여기서는 내장 한정자와 glob 한정자를 zsh사용할 수도 있습니다 .stat

zmodload zsh/stat
stat -nL +size -- **/*(LM+10)

그러면 파일 경로 뒤에 크기가 인쇄됩니다. 또한 find숨겨진 파일은 기본적으로 제외됩니다( D한정자를 사용하여 다시 추가할 수 있음).

또는 print rolumns에 aw(십자가)를 씁니다.2 Ca

stat -nLA report +size -- **/*(LM+10)
print -raC2 -- $report

이 모든 -size, %s+size파일의크기, 이는 파일과 다릅니다.디스크 사용량² stat of du(또는 %b/ %kin gfind -printf또는 +blockin ) 에 보고된 대로 유형 파일의 고유 파일 크기도 포함됩니다.zshdu목차). find디스크 사용량을 기준으로 파일을 필터링하는 조건자는 없습니다.


1 10MB(메가바이트)보다 큰 파일의 경우 ( -size +10000000c표준) find또는(L+10000000)zsh

² 파일이 클수록 일반적으로 더 많은 디스크 공간을 차지하지만 반드시 그런 것은 아니며 어떤 경우에도 둘 사이의 관계는 선형적이지 않습니다.

답변3

zsh를 사용하고 ls지원하는 경우-h사람이 읽을 수 있는 크기, 다음과 같이 할 수 있습니다.

ls -lhd -- **/*(.Lm+10)

10MiB보다 큰 숨겨진 파일이 아닌 모든 파일을 찾아 ls -ldh작동합니다 . 당신은 얻을 수 있습니다매개변수 목록이 너무 깁니다.. 그렇게 하면 를 사용할 수 있지만 를 zargs사용할 때와 동일한 문제가 발생하게 됩니다 find.

또한 문제를 잘못 비난하려는 것은 아니지만 zsh대규모 디렉터리에서 작업을 수행할 때 이상한 일이 발생하는 것을 발견했습니다. **/*즉 , ls -ld /**/*(.)사용해도 zargs끝이 없습니다 . 하지만... 소규모 작업의 경우 zsh구문에 익숙해지면 작업을 완료하는 것이 더 쉬운 경우가 많습니다 zsh.

관련 정보