
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 find
en una variable solo para poder eliminar los archivos (a menos que tenga algunos requisitos específicos que no mencionó), ya que find
proporciona un parámetro especial -delete
que lo haría por usted:
find . -type f -size +200M -print -delete
Comols
No 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
).