Bash 스크립트에서 이 디렉터리에 있는 .tmp 또는 .swp 확장자를 가진 길이가 0인 파일을 모두 삭제하여 디렉터리를 정리하는 방법이 궁금합니다(때때로 .swp 및 .tmp 파일이 숨겨져 있음에 유의하세요).
답변1
파일이 3개 있습니다. 크기를 확인하세요.
find . -type f \( -name "*.tmp" -o -name "*.swp" \) -ls
17717019 0 -rw-r--r-- 1 jai wheel 0 Mar 23 09:10 ./a/.tmp
17717018 0 -rw-r--r-- 1 jai wheel 0 Mar 23 09:10 ./a/x.swp
17717007 8 -rw-r--r-- 1 jai wheel 38 Mar 23 09:09 ./b/y.swp
크기가 0바이트인 파일 찾기 -
$ find . -type f \( -name "*.tmp" -o -name "*.swp" \) -size 0c
./a/.tmp
./a/x.swp
크기가 0인 파일만 삭제 --
$ find . -type f \( -name "*.tmp" -o -name "*.swp" \) -size 0c -exec rm -i {} \;
remove ./a/.tmp? y
remove ./a/x.swp? y
$
다시 확인하세요. 크기가 0이 아닌 파일만 보관하세요.
$ find . -type f \( -name "*.tmp" -o -name "*.swp" \) -ls
17717007 8 -rw-r--r-- 1 jai wheel 38 Mar 23 09:09 ./b/y.swp