Obtenga resultados de búsqueda para eliminar archivos más tarde

Obtenga resultados de búsqueda para eliminar archivos más tarde

Me gustaría tomar los resultados de este comando:

find . -type f -size +200M -exec ls -lh {} \;

almacene el contenido en una variable de algún tipo y luego elimine los archivos encontrados.

¿Cómo puedo hacer esto?

Respuesta1

No necesita almacenar los resultados finden una variable solo para poder eliminar los archivos (a menos que tenga algunos requisitos específicos que no mencionó), ya que findproporciona un parámetro especial -deleteque lo haría por usted:

find . -type f -size +200M -print -delete

ComolsNo se recomienda analizar la salida del comando..

Si realmente desea analizar los archivos devueltos por find, debe hacer algo como:

find . -type f -size +200M -print0 | xargs -0 rm -v

Dado que no puede mantener las variables del shell con caracteres nulos y no desea dividir el script en espacios (lo que puede causarinsectos gigantes), la solución podría ser almacenar la lista en el archivo temporal o serializar los datos (por ejemplo base64).

información relacionada