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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [РЕШЕНО] Подскажите по команде sed  (Прочитано 1325 раз)

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

Оффлайн 32reg

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
    • Linux32.ru
Всем привет. Такой вопрос: у меня есть файл со списком пакетов, каждый пакет в отдельной строке, строки такого вида:
Цитировать
"название-пакетапробелверсия-пакета"
Как с помощью sed (или возможно другой какой команды) удалить из каждой строки все символы, находящиеся за пробелом и пробел в том числе (т.е. пробел и версию пакета)?
« Последнее редактирование: 21 Июня 2011, 16:20:49 от 32reg »
www.linux32.ru - новости и статьи о Linux

ALiEN175

  • Гость
Re: Подскажите по команде sed
« Ответ #1 : 21 Июня 2011, 13:09:46 »
cat /путь/к/списку | awk ('print $1')

ну вот как-то так)

ps мог ошибиться с кавычками и скобочками - сейчас не на Linuxе, проверить команду не могу)

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Re: Подскажите по команде sed
« Ответ #2 : 21 Июня 2011, 13:58:45 »
Кажется вы хотите получить первое слово до пробела из списка. Если я прав, то выглядит это так:
cat ./file | awk '{print $1}'
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн 32reg

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
    • Linux32.ru
Re: Подскажите по команде sed
« Ответ #3 : 21 Июня 2011, 13:59:21 »
ALiEN175, aliftin спасибо, то что надо. Еще вопрос: теперь у меня есть такой список пакетов:
Цитировать
имя-пакета1
имя-пакета2
(по одному пакету на строку), как к каждому пакету из этого списка применить одну и туже команду, например:
Цитировать
dpkg-repack имя-пакета1
dpkg-repack имя-пакета2
...
И если программа будет задавать какие-либо вопросы в процессе автоматически отвечать везде YES?
www.linux32.ru - новости и статьи о Linux

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Re: Подскажите по команде sed
« Ответ #4 : 21 Июня 2011, 14:18:45 »
#!/bin/bash

for i in `cat ./file`
do
         dpkg-repack "$i"

done

На вопрос про yes посмотрите man по команде dpkg-repak. У меня нет этой утилиты и проверить я не могу.
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн 32reg

  • Автор темы
  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
    • Linux32.ru
Re: Подскажите по команде sed
« Ответ #5 : 21 Июня 2011, 14:26:12 »
спасибо
www.linux32.ru - новости и статьи о Linux

 

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