среда, 14 июля 2010 г.

Bash: оставим только новые файлы (как удалять устаревшие архивы)

В комментариях к одному из предыдущих постов поступило предложение сделать скрипт, который позволил бы время от времени чистить папку с архивами, чтобы в ней оставалось лишь определенное количество файлов (разумеется, самых свежих).
Хинт: Для этих целей можно использовать редактор awk, запустив следующую команду из директории с архивами:
ls -t | awk 'NR>=10 {print;}' /dev/stdin | xargs -i rm {}
ls -t выводит список файлов, сортируя его по времени создания
команда awk NR>=10 {print;} выводит из файла строки, номера которых больше 10. /dev/stdin в качестве имени файла позволяет использовать стандартный поток ввода (что делает ls -t через пайп).
xargs -i rm {} удаляет файлы, имена которых приходят через пайп от awk.
Таким образом, мы оставляем в директории только 10 самых новых файлов.

3 комментария:

  1. толково, я, как всегда, придумывал дичайшее нагромождение и мегаскрипт, а тут всё так прозрачно. так держать!

    ОтветитьУдалить
  2. Everywhere in bars, restaurants, and even 메리트카지노 basements, tables stored being arrange, and unlawful betting was nonetheless organized - that managed to cheer up the working class's day by day life. All these elements offered a precondition for the event of illegal casinos and the establishment of legal organized teams to administer them. All this gave a turbulent start to the expansion of the whole gambling business in continental Europe during the 18th and 19th centuries. Mass building of on line casino halls began in Baden-Baden and Wiesbaden in Germany, as well as|in addition to} within the legendary Monte Carlo in Monaco. Casinos then began to look more like castles than conventional gambling halls, and the competitors for drawing the wealthiest gamblers turned fierce. To discover out the financial value of various symbol mixtures for a selected recreation, you'll need to seek out|to search out} the assistance button.

    ОтветитьУдалить