특정 확장자를 가진 파일과 길이가 0인 파일 삭제

특정 확장자를 가진 파일과 길이가 0인 파일 삭제

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

관련 정보