Удалить файлы, созданные между определенными отметками времени. - PullRequest
6 голосов
/ 01 апреля 2010

Прошлой ночью у меня был сценарий сумасшедшего и создание группы каталогов с 3:00 до 3:09. Есть ли быстрый лайнер, который выследит их и удалит для меня?

Ответы [ 3 ]

6 голосов
/ 01 апреля 2010

Если вы можете искать первый и последний (хронологические) каталоги, которые вы хотите удалить, вы можете использовать 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
1 голос
/ 01 апреля 2010

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

ls -ltrog | awk '$5~/03:0[0-9]/{$1=$2=$3=$4=$5="";gsub("^ +",""); cmd="rm \047"$0"\047";system(cmd) }'
0 голосов
/ 01 апреля 2010

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

find . -type d -newermt "2010-03-31 0300" -and \( -not -newermt "2010-03-31 0310" \) -exec rm -rf {} \;
...