우리 환경에는 모든 사용자 홈 디렉토리를 포함하는 NFS 마운트가 있습니다.
홈 디렉터리 크기가 10G보다 큰 사용자를 찾아 알림을 보내고 싶습니다. 나는 시도했다:
du -sh * | sort -hr
이것은 매력적으로 작동하지만 크기가 10G보다 큰 디렉터리를 추출하는 명령을 찾을 수 없습니다.
나는 그것을 시도했지만 find . -size +10G -exec ls -lhS {} \;
성공하지 못했습니다.
크기가 10G보다 큰 디렉토리를 찾거나 추출하는 가장 좋은 방법은 무엇입니까?
답변1
이것은 트릭을 수행해야합니다.
첫 번째 열(크기)이 10GB를 초과하면 두 번째 열(디렉터리 이름)이 출력됩니다.
du -sk * | awk '$1 > 10485760 { print $2 }'
또는 요청 시 아래와 같이 사람이 읽을 수 있는 형식으로 제공됩니다. 정규식은 열 1이 G(기가바이트)로 끝나는 것을 보장하고 substr 부분은 열 1에서 마지막 문자를 제거하고 10보다 큰지 확인합니다.
du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 10 { print $0 }'
예:
du -sh *
2.5G steve
du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 1 { print $0 }'
2.5G steve
du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 3 { print $0 }'
(no output)