
디렉터리에서 크기가 1MB 미만인 파일을 반복적으로 제거하려면 어떻게 해야 합니까?
답변1
이는 다음을 사용하여 수행할 수 있습니다 find
.
find . -type f -size -1M -exec rm {} +
이는 하위 디렉터리로 재귀적으로 내려가며 1MB보다 작은 모든 파일을 무조건 삭제합니다. 조심하세요.
답변2
이 작업을 수행해야 합니다.
$ find <directory> -type f -size -1M -delete
답변3
다양성과 가능한(아마도 한계적인) 성능 향상을 위해:
find <directory> -type f -size -1M -print0 | xargs -0 rm
답변4
이 링크를 확인하실 수 있습니다http://ayaz.wordpress.com/2008/02/05/bash-quickly-deleting-empty-files-in-a-directory/, 정확히 당신이 원하는 것이 있습니다.
for file in *;
do
file_size=$(du $file | awk '{print $1}');
if [ $file_size == 0 ]; then
echo "Deleting empty file $file with file size $file_size!";
echo "rm -f $file";
fi;
done
for 루프를 사용하여 모든 파일을 반복한 다음 du 및 awk를 사용하여 위 예제와 같이 파일 크기를 찾을 수 있습니다.