Я новичок в сценарии оболочки. Не могли бы вы предложить мне некоторый код для следующего требования?Сохраните последние 3 папки и удалите остальные в сценарии bash?
У меня после отформатированных папок
пример: /home/backup/store_id/datewisefolder/some.zip
как: /home/backup/44/22032014/some_file.zip
/home/backup/44/23032014/some_file.zip
/home/backup/44/24032014/some_file.zip
/home/backup/44/25032014/some_file.zip
еще много ..
Я хочу перейти к каждому каталогу идентификаторов магазина & сохранить только последние 3 даты мудрая папка остальная часть удалена. Здесь 44 хранят идентификационную папку 23032014,24032014,25032014, эти три являются последними, поэтому сохраняйте их. 22032014 старше, поэтому удалите его.
Я написал код оболочки, который обнаружил последние три файла, но я не знаю, как удалить отдых с помощью контура папки store_ID.
ниже коды узнать наиболее позднюю дату папки Мудрых
кд/дома/резервное копирование/44/ Ls -1 | sort -n -k1.8 -k1.4 -k 1 | tail -3
Вы можете удалить файлы старше n, например 'find -mtime +3 -delete' удаляет файлы старше 3 дней. –
Я не хочу на основе времени – Rups
Возможный дубликат [Удалить все, кроме самых последних файлов X в bash] (http://stackoverflow.com/questions/25785/delete-all-but-the-most-recent-x -files-in-bash) – dogbane