buscar archivos de registro de más de 30 días

buscar archivos de registro de más de 30 días

Estoy trabajando en un script para buscar archivos con más de 30 días en una carpeta determinada. Según el requisito, tengo que eliminar solo archivos con extensión.registroo.afueray omitir subdirectorios.

El siguiente comando devuelve todos los archivos .log* que se modificaron hace 30 días. Sin embargo, devuelve todos los archivos .out, incluso los recientes. ¿Hay algún problema en el siguiente código?

    find -maxdepth 1 -mtime +30 -type f -name "*.log*" -o -name "*.out*"

¿Podría decirme qué está mal en la declaración anterior?

Respuesta1

Intentar:

find -maxdepth 1 -mtime +30 -type f \( -name "*.log*" -o -name "*.out*" \)

El problema era que findune lo lógico -y más fuerte que lo lógico- o. Los padres contrarrestan eso.

Sin los padres, findbusca archivos que coincidan.cualquiera(a)-mtime +30 -type f -name "*.log*" o(b) -name "*.out*".

Con los padres, findbusca archivos que (a) coincidan-mtime +30 -type f y(b) coincidir con -name "*.log*"o -name "*.out*".

información relacionada