Удалите файлы, созданные между определенными метками времени.

Вчера вечером у меня был сценарий, немного сходят с ума и создают набор каталогов между 3:00 и 3:09. Существует ли быстрый один лайнер, который выследит их и удалит их для меня?

6
задан SherylHohman 13 February 2018 в 00:59
поделиться

3 ответа

Если вы можете найти первый и последний (хронологические) каталоги, которые хотите удалить, вы можете использовать find:

find . -newer first -not -newer last -type d

И если результат подходит вы можете удалить

find . -newer first -not -newer last -type d -print0 |  xargs -0 rmdir

или указать дату:

find . -newermt "2010-03-31 0300" -not -newermt "2010-03-31 0310" -type d
6
ответ дан 17 December 2019 в 00:06
поделиться

Вы можете попробовать это, если вы работаете только в одном каталоге и 5-е поле в ls -ltrog вывода - это время.

ls -ltrog | awk '$5~/03:0[0-9]/{$1=$2=$3=$4=$5="";gsub("^ +",""); cmd="rm \047"$0"\047";system(cmd) }'
1
ответ дан 17 December 2019 в 00:06
поделиться

просто используйте find

find . -type d -newermt "2010-03-31 0300" -and \( -not -newermt "2010-03-31 0310" \) -exec rm -rf {} \;
0
ответ дан 17 December 2019 в 00:06
поделиться
Другие вопросы по тегам:

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