크기가 1MB 미만인 파일을 반복적으로 제거합니다.

크기가 1MB 미만인 파일을 반복적으로 제거합니다.

디렉터리에서 크기가 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를 사용하여 위 예제와 같이 파일 크기를 찾을 수 있습니다.

관련 정보