크기가 4kb인 수십만 개의 작은 .txt 파일이 포함된 폴더가 있습니다. 그 중 일부는 완전히 비어 있는 반면 다른 일부는 비어 있습니다. 그러나 이는 구성된 최소 블록 크기이므로 모두 동일한 크기 4kb를 표시합니다. 비어 있는 것을 대량으로 삭제하고 비어 있지 않은 것을 유지하는 방법이 있습니까? 하는 일
rsync --remove-sent-files -rv --min-size=4kb
모든 것을 제거합니다.
감사합니다
답변1
부분적인 답을 찾은 것 같습니다. 내용이 비어 있는 txt 파일에 숨겨진 문자가 하나 이상 있다고 가정하면 누군가 특정 바이트 수 미만의 크기를 가진 모든 파일을 찾아서 삭제할 수 있습니다. 예를 들어 1바이트 크기의 모든 파일을 삭제하려는 경우 다음을 실행할 수 있습니다.
find . -type f -size -2c -delete
답변2
실제로 비어 있는 파일은 으로 보면 0바이트로 표시됩니다 ls -l
.
다음을 사용하여 제거할 수 있습니다 find
(읽기man find
https://manpages.ubuntu.com/manpages/cosmic/en/man1/find.1.html):
find folder -maxdepth 1 -type f -name '*.txt' -size 0 -delete