Модифицировать каждую строку в последовательности (Как?)

Модератор: Модераторы разделов

Ответить
snake
Бывший модератор
Сообщения: 677
Контактная информация:

Модифицировать каждую строку в последовательности

Сообщение snake »

Извините, что беспокою, но что-то туплю к вечеру... короче, родил я такую команду:

cat ./[мой файл] | grep -ioE [regexp] > temp.list

Работает как надо, и из кучи мусора экстрагирует список файлов, но мне нужно чтобы перед именем файла стоял кусок url'а, типа, вот так:

http://www.domen.ru/my_file#1
...
http://www.domen.ru/my_file#n

С целью скормить всю эту байду wget'у.
Я так понимаю sed'ом тут надо... :unsure: А можно ли вообще обойтись без промежуточнгого файла?
В реальности все не так, как на самом деле...
JabberID: zmeyk@jabber.ru
Спасибо сказали:
Hz_
Сообщения: 4

Re: Модифицировать каждую строку в последовательности

Сообщение Hz_ »

Наверное можно проще, но так тоже работает:

Код: Выделить всё

cat ./[твой файл] | grep -ioE [regexp] | awk '{ print "http://www.domen.ru/"$1; }' | xargs wget

или чуть покороче:

Код: Выделить всё

grep -ioE [regexp] ./[твой файл] | awk '{ print "http://www.domen.ru/"$1; }' | xargs wget
Спасибо сказали:
snake
Бывший модератор
Сообщения: 677
Контактная информация:

Re: Модифицировать каждую строку в последовательности

Сообщение snake »

Спасибо. Все воркает. :)
В реальности все не так, как на самом деле...
JabberID: zmeyk@jabber.ru
Спасибо сказали:
Аватара пользователя
Golden
Сообщения: 163
ОС: Ubuntu Linux 7.10
Контактная информация:

Re: Модифицировать каждую строку в последовательности

Сообщение Golden »

Модеры, перенесите в FAQ, плиз. ;)
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга
Контактная информация:

Re: Модифицировать каждую строку в последовательности

Сообщение madskull »

:)
Можно еще короче:

Код: Выделить всё

awk '/[regexp]/{ print "http://www.domen.ru/"$1; }' [твой файл] | wget -i -


или, ежели уж с sed'ом

Код: Выделить всё

sed -n '/[regexp]/{s,^,http://www.domen.ru/,g;p}' [твой файл] | wget -i -

(правда, в седе регекспы не шибко extended)
ArchLinux / IceWM
Спасибо сказали:
smartly
Сообщения: 11
Контактная информация:

Re: Модифицировать каждую строку в последовательности

Сообщение smartly »

(Hz_ @ Thursday, 09 September 2004, 11:36) писал(а):

Код: Выделить всё

grep -ioE [regexp] ./[твой файл] | awk '{ print "http://www.domen.ru/"$1; }' | xargs wget



Ну, $1 в awk вроде ссылается на первое поле. Если в имени файла будут пробелы то работать не будет. вроде нужно ссылаться через $0
Спасибо сказали:
Ответить