¿Cómo eliminar todos los archivos según el año en Unix?

¿Cómo eliminar todos los archivos según el año en Unix?

Necesito eliminar todos los archivos de un directorio que se crearon en 2018. ¿Qué comando puedo usar para hacerlo?

Respuesta1

Opción de uso find -newermt:

find /path/to/directory -type f -newermt 2018-01-01 ! -newermt 2019-01-01 -print

o para menos pensar:

y=2018
find /path/to/directory -type f -newermt $y-01-01 ! -newermt $((y+1))-01-01 -print

Cambie -printa -deletesi está satisfecho con el resultado.

Respuesta2

Un guión como este:

DIR="$1"
for f in "$DIR"/*
do
    FileDate=$(stat -c %y "$f")
    if [[ "${FileDate:0:4}" = "2018" ]] ; then
        rm "$f"
    fi
done

Llame al script y pase el nombre del directorio, por ejemplokill2018 /home/me/Documents

información relacionada