Мне нужно удалить все файлы в каталоге, которые были созданы в 2018 году. Какую команду я могу использовать для этого?
решение1
Используйте 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
Такой сценарий:
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