powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / удалить все (архивные) файлы из каталога оставляя только N последних
12 сообщений из 12, страница 1 из 1
удалить все (архивные) файлы из каталога оставляя только N последних
    #36427981
как удалить все (архивные) файлы из каталога оставляя только N (cкажем 7шт) последних (по времени создяния)
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36427996
beginer.ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
/usr/bin/find /fs/bla/bla/ -name "*.7z" -mtime +7 -delete - найдет и удалит файлы в указанной директории старше 7 дней имеющих расширение 7z
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36428468
ORAngutang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beginer.ua/usr/bin/find /fs/bla/bla/ -name "*.7z" -mtime +7 -delete - найдет и удалит файлы в указанной директории старше 7 дней имеющих расширение 7z

спасибо, "не старше N-дней" я и сам нашел! Но проблема в том, что каждые четверть часа их может быть нагенерено очень много, и мне хватит просто скажем 3-х последних!
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36430447
SSukholet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
On Mon, 25 Jan 2010 15:31:05 +0700, ORAngutang <nospam@sql.ru>; wrote:

> Автор: ORAngutang
> beginer.ua
> /usr/bin/find /fs/bla/bla/ -name "*.7z" -mtime +7 -delete - найдет и
> удалит
> файлы в указанной директории старше 7 дней имеющих расширение 7z
>
>
> спасибо, "не старше N-дней" я и сам нашел! Но проблема в том, что каждые
> четверть часа их может быть нагенерено очень много, и мне хватит просто
> скажем 3-х последних!
ну очевидно ls --sort=time | tail --lines 3
и, соответственно: rm -vf 'ls --sort=time /tmp | tail --lines 3'


--
Остаюсь искренне Ваш,
Станислав Сухолёт
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36430449
SSukholet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
On Tue, 26 Jan 2010 09:43:17 +0700, SSukholet <nospam@sql.ru>; wrote:

> и, соответственно: rm -vf 'ls --sort=time /tmp | tail --lines 3'
Извиняюсь, апострофы не те: rm -vf `ls --sort=time /tmp | tail --lines 3`



--
Остаюсь искренне Ваш,
Станислав Сухолёт
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36430611
skelet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SSukholetИзвиняюсь, апострофы не те: rm -vf `ls --sort=time /tmp | tail --lines 3`

а разве нельзя через $() вместо кавычек?
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36430755
SSukholet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
On Tue, 26 Jan 2010 13:31:08 +0700, skelet <nospam@sql.ru>; wrote:

> Извиняюсь, апострофы не те: rm -vf `ls --sort=time /tmp | tail --lines 3`
>
> а разве нельзя через $() вместо кавычек?
конечно можно. просто по старой привычке bash'евца ;-)

rm -vf $(ls --sort=time /tmp | tail --lines=3)


--
Остаюсь искренне Ваш,
Станислав Сухолёт
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36433756
SSukholet,

Спасибо, но ваш вариант удаляет 3 самых старых, а мне нужно удаление всех кроме 3 последних! ;-)

Вот уже и сам допер:

Код: plaintext
ls --sort=time -r *.dbf | tail --lines= 3  >> last3 && ls --sort=time -r *.dbf | tail >> allf && rm -vf $(diff allf last3 | tail) $$ rm allf last3

Может кто-то предложит решенее по элегантнее!? ;-)

P.S. Кстати можно в Бэше отнять как-то 2 строки?
Типа:

'abcdef' - 'cde' = 'abf'
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36434110
SerXX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос навичкаSSukholet,

Спасибо, но ваш вариант удаляет 3 самых старых, а мне нужно удаление всех кроме 3 последних! ;-)

man ls:
-r Производить сортировку в обратном порядке.
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36434116
SerXX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorry, не то
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36434246
SerXX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такая конструкция вроде должна помочь
Код: plaintext
ls *.dbf|head -n $[`ls -t -r - 1  *.dbf |wc -l`- 3 ] |rm -rfv
...
Рейтинг: 0 / 0
удалить все (архивные) файлы из каталога оставляя только N последних
    #36434254
SerXX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ls -t -r *.dbf|head -n $[`ls -t -r - 1  *.dbf |wc -l`- 3 ] |rm -rfv
расфлудился блин :(
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / удалить все (архивные) файлы из каталога оставляя только N последних
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]