pushd, popd vs cd, cd- в bash и zsh

Я бы не рекомендовал анализировать вывод ls , поскольку он неправильно форматирует вывод для передачи в новую команду и имеет проблемы с переносимостью.
Я бы попробовал вместо этого что-нибудь вроде этого

find $bkup_p/mysql.daily/ -type f -a -mtime +7 -a -name "*.sql" -a -exec rm -f {} +

примечание:

  • "*. Sql" измените это по необходимости
  • -mtime +7 означает * если этот файл был изменен более (+) 7 дней назад, очевидно, измените и это по мере необходимости

В случае, если вы хотите быть уверены, что у вас всегда есть 10 самых новых файлов - несмотря ни на что (и у вас есть GNU find ) вы можете попробовать

find $bkup_p/mysql.daily/ -maxdepth 1 -type f -a -printf "%T+\t%p\n" | sort -r | sed -n '10,$p' | awk '{print $2}' | xargs rm -f

для получения дополнительной информации о форматировании find вывода с помощью оператора -printf , см.

man find | less '+/^\s*-printf'
16
03.04.2016, 06:24
0 ответов

Теги

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