Eliminar archivos con ciertas extensiones y archivos de longitud 0

-1

Desea saber cómo podemos limpiar el directorio eliminando todos los archivos de longitud cero, con un .tmp o con una extensión .swp que se encuentra en este directorio (tenga en cuenta que a veces los archivos .swp y .tmp están ocultos) en Bash Script .

S.mittal
fuente
2
Que has intentado Se supone que debes hacer un esfuerzo con tu tarea ...
jasonwryan
probé rm -r para eliminar todos los archivos pero no está en archivos ocultos y también intenté "" shopt -s dotglob rm -rf script / * "" pero cuando ejecuto esto en mi comando, elimino todos mis archivos ubuntu y reinstalo mi ubuntu.
S.mittal

Respuestas:

1

hay 3 archivos, verificando sus tamaños.

 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

encontrar archivos con un tamaño de 0 bytes -

$ find . -type f \( -name "*.tmp" -o -name "*.swp" \) -size 0c 
  ./a/.tmp
  ./a/x.swp

Eliminar archivos con tamaño 0 solamente:

 $ find . -type f \( -name "*.tmp" -o -name "*.swp" \) -size 0c -exec rm -i {} \;
    remove ./a/.tmp? y
    remove ./a/x.swp? y
    $ 

comprobando nuevamente: solo queda el archivo de tamaño distinto de cero

$ 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
jai_s
fuente