[Comm] sed -?

Yura Kalinichenko =?iso-8859-1?q?yuk_=CE=C1_iceb=2Evinnitsa=2Ecom?=
Вт Окт 5 22:39:22 MSD 2004


В Вто, 05.10.2004, в 18:19, Dolgov OV написал:
> On Tue, 5 Oct 2004 16:43:09 +0300
> Dolgov OV <dov на media-link.info> wrote:
> > Здравствуйте.
> > 
> > Подскажите плз. как sed'ом заменить некий patern переводом строки?
> > Или может не sed'ом, а perl'ом, но задача вот в чем:
> > Есть текстовый файл с фрагментами html кода. В каждой строке от 1-го
> > до 30-ти участков, разделенных последовательностью </TD></tr>
> > Вот эти </TD></tr> я и хочу заменить переводом строки, дабы уже потом
> > обрабатывать каждую отдельную ячейку, как отдельную строку в файле.
> > 
> > Пробовал 
> > cat list.txt | sed s/"<\/TD><\/tr>"/\n/g - > list1.txt
> > тупо подставляется n.
> > 
> > perl -nwe 'print "$1\n" if /(.*)<\/TD><\/tr>/' list.txt >
> > list1.txt
> > отбрасывает только последнюю последовательность. Может можно както
> > perl'у объяснить чтобы он шел последовательно по строке до искомого
> > patern'а?
> 
> Как это ни печально, но пришлось воспользоваться услугами M$Word и его
> функцией найти и заменить </TD></tr> на ^p (знак абзаца) :-\

Мда... И это все вместо элементарного:

sed -e 's:</TD></tr>:\
:g' list.txt > list1.txt

Не говоря уже о том, что поиск с заменой может делать _любой_ текстовый
редактор в Linux, обладающий большей функциональностью, чем cat.

Hint: если хотите чему-то научиться путем в Unix-way - забудьте про Word
для таких случаев, заставляйте себя находить правильные решения - это
окупится.

-- 
Yura Kalinichenko




Подробная информация о списке рассылки community