Как удалить все файлы по годам в Unix?

Мне нужно удалить все файлы в каталоге, который был создан в 2018. Какую команду я могу использовать для этого?

1
задан 26 June 2019 в 06:42

2 ответа

Используйте опцию find -newermt:

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

или, чтобы не задумываться:

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

Измените -print на -delete, если вы довольны результат.

2
ответ дан 26 June 2019 в 06:42

Сценарий, подобный следующему:

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

Вызовите сценарий и передайте имя каталога, например kill2018 /home/me/Documents

1
ответ дан 26 June 2019 в 06:42

Другие вопросы по тегам:

Похожие вопросы: