Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: скрипт удалить все кроме 5 файлов  (Прочитано 1891 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Attid

  • Автор темы
  • Участник
  • *
  • Сообщений: 177
    • Просмотр профиля
с помощью команды "ls -d1 *" я получаю список файлов, он может быть от 1 до много.

как мне можно из этого списка получить все файлы кроме первых 5.  (или кроме последних 5 если так будет проще, можно изменить порядок сортировки)

можно упростить условие, сказав что файлов меньше 6 быть не может (проверю с помощь wc)  ну а больше может.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: скрипт удалить все кроме 5 файлов
« Ответ #1 : 05 Март 2011, 08:52:01 »
1. Пишете результат во временный файл.
2. Подсчитываете количество строк.
3. Если >5, то удаляете либо первые 5, либо последние 5 (в зависимости от того, что хотите).
и т.д.
Удаление можно проделать либо sedом, либо перезаписью циклом for c соответствующими параметрами.
« Последнее редактирование: 05 Март 2011, 08:54:44 от alexander.pronin »

Оффлайн kom3s

  • Участник
  • *
  • Сообщений: 149
    • Просмотр профиля
Re: скрипт удалить все кроме 5 файлов
« Ответ #2 : 05 Март 2011, 09:21:45 »
Например так:ls -d1 * > /tmp/file; for i in `sed '1,5d' /tmp/file`; do rm "$i"; done Вот неплохая подборка однострочников с sed.

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: скрипт удалить все кроме 5 файлов
« Ответ #3 : 05 Март 2011, 12:31:03 »
ls | tail -n +6

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: скрипт удалить все кроме 5 файлов
« Ответ #4 : 05 Март 2011, 12:55:52 »
И за компанию
ls | head ...

Оффлайн Attid

  • Автор темы
  • Участник
  • *
  • Сообщений: 177
    • Просмотр профиля
Re: скрипт удалить все кроме 5 файлов
« Ответ #5 : 06 Март 2011, 12:18:07 »
спасибо. просто вроде 2 раза просмотрел man по tail и  head  и не приметил что можно +/- использовать.

 

Страница сгенерирована за 0.055 секунд. Запросов: 24.