Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт на шелле 
:(
    Опции темы
Prorok
Дата 31.3.2006, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 30.9.2005

Репутация: нет
Всего: нет



Хочу написать скрипт на шелле, который бы удалял самый старый файл из каталога
В связи с этим два вопроса:
1 Как упорядочить файлы по дате СОЗДАНИЯ
2 Как передать имя файла(так как оно изначально естественно неизвестно)
PM MAIL   Вверх
MAKCim
Дата 31.3.2006, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 21
Всего: 207



Цитата

2 Как передать имя файла(так как оно изначально естественно неизвестно)

куда передать?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Fedor
Дата 31.3.2006, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: 1
Всего: 32



Цитата(Prorok @ 31.3.2006, 16:34 Найти цитируемый пост)
2 Как передать имя файла(так как оно изначально естественно неизвестно)

echo "$NAME"

Это, естественно, после того, как ты его найдешь smile


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
MAKCim
Дата 1.4.2006, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 21
Всего: 207



если честно как определить дату создания в Shell не знаю
может хватит даты последнего доступа?
тогда
Код

find <где искать> -mtime -<количество дней с момента последнего доступа> -ok rm {} \


Это сообщение отредактировал(а) MAKCim - 1.4.2006, 08:59


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Wumber
Дата 3.4.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.10.2005
Где: Moscow

Репутация: 1
Всего: 1



MAKCim
Можно еще так (выдержка из man ls):
Код
     -r      Reverse the order of the sort to get reverse lexicographical
             order or the oldest entries first.
<...>
     -t      Sort by time modified (most recently modified first) before sort-
             ing the operands by lexicographical order.

Соответственно, видим что "-t" отсортирует по убыванию, а "-r" - реверс, то есть наоборот.

Цитата
1 Как упорядочить файлы по дате СОЗДАНИЯ

Что-то не припомню, где можно увидеть эту информацию. Хотя в inode вроде сохраняется дата создания.

В простейшем случае, если необходимо удалить именно файл, можно сделать так:
Код
ls -atF | grep -v \/$ | tail -1 | xargs rm -rf

И никаких проблем =). Удалится самый старый файл из каталога.

Это сообщение отредактировал(а) Wumber - 3.4.2006, 21:37
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 4.4.2006, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



по крайней мере в линуксе ( насчет других ОСей - не могу знать )
ls -c
рассортирует список файлов по дате создания (ctime). а
ls -lc - покажет даты создания (ctime), но рассортирует по имени.

пока.

Это сообщение отредактировал(а) bilbobagginz - 4.4.2006, 00:31


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Wumber
Дата 4.4.2006, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.10.2005
Где: Moscow

Репутация: 1
Всего: 1



Код
     -c      Use time when file status was last changed for sorting or print-
             ing.

Во FreeBSD по-другому.
Код
       -c     with -lt: sort by, and show, ctime (time of last modification of
              file status information) with -l: show ctime and  sort  by  name
              otherwise: sort by ctime

А в линуксе действительно покажет ctime.
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 4.4.2006, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 21
Всего: 207



Цитата

рассортирует список файлов по дате создания (ctime).

это случайно не дата последней модификации?
Цитата

Хотя в inode вроде сохраняется дата создания.

нет


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Prorok
Дата 6.4.2006, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 30.9.2005

Репутация: нет
Всего: нет



Назрели еще 2 вопроса:
1 Как мне удалять этот самый старый файл в зависимости от количества свободного места?
2 Как мне удалять этот самый старый файл в зависимости от колическтва файлов в папке?
PM MAIL   Вверх
Wumber
Дата 7.4.2006, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.10.2005
Где: Moscow

Репутация: 1
Всего: 1



Цитата(MAKCim @ 4.4.2006, 18:01 Найти цитируемый пост)
это случайно не дата последней модификации?

Дата последней модификации - mtime.

Prorok
Оба вопроса не раскрыты. Количество свободного места в разделе? Каким оно должно быть, чтобы удалить самый старый файл? Каким должно быть количество файлов в папке? А если там одни каталоги? Короче, подробней.
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 8.4.2006, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 21
Всего: 207



Цитата

1 Как мне удалять этот самый старый файл в зависимости от количества свободного места?

если таких "старых файлов" несколько можно удалить самый "большой" файл


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.