Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
ls -rt
dir_2017-03-07
for d in dir_*dod1=`echo $d | sed 's/.*dir_//g'`d2=`date -d "$d1" +%s`d3="$d2 $d"echo $d3done | sort -k1 -nr
ls -tr | head -n -5 | xargs --no-run-if-empty rm -r
find '/путь/до/папки' -mindepth 1 -maxdepth 1 -type d -printf '%T@ %p\n' | sort -rnk1 | awk 'NR>5 { sub(/^\S+ /, "", $0); system("rm -r -f \"" $0 "\"")}'
head -n -5
ls -trd */ | head -n -5 | xargs --no-run-if-empty rm -r
Цитата: fluf от 14 Марта 2017, 16:09:36ls -tr | head -n -5 | xargs --no-run-if-empty rm -rНеправильно.1. ls -tr - выводит и папки и файлы.2. "head -n -5 | xargs --no-run-if-empty rm -r" - это удалить пять самых старых, а не все кроме пяти самых новых.Правильно:Код: [Выделить]find '/путь/до/папки' -mindepth 1 -maxdepth 1 -type d -printf '%T@ %p\n' | sort -rnk1 | awk 'NR>5 { sub(/^\S+ /, "", $0); system("rm -r -f \"" $0 "\"")}'
Страница сгенерирована за 0.04 секунд. Запросов: 23.