Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     31 Jan 2005  19:04:30
 To : Serg Oskin
 Subject : Re: sed
 -------------------------------------------------------------------------------- 
 
 Serg Oskin <Serg.Oskin@f20.n5020.z2.fidonet.org> wrote:
 
  DK>>From: Denis Kostousov <sandello@permonline.ru> Добрый
  DK>>день, уважаемые 
  DK>>Стоит FC 3, sed 4.1.2 Пытаюсь выполнить небольшой
  DK>>эксперимент: $ echo -en "\n"|sed -e 's/\n/qq/g' 
  DK>>$ Суть эксперимента - заставить sed объединять некоторые
  DK>>строки. И нифига. В vim'е такое прокатывало. Такое
  DK>>впечатление, что sed не находит совпадений для шаблона.
  DK>>Может я что-то не так делаю? 
 SO>sed все операции выполняет построчно, т.е. читает одну
 SO>строку, обрабатывает, записывает, читает следующую
 SO>строку... 
 
 Вообще-то это не совсем верно.
 
    Unless special commands (like `D') are used, the pattern space is
 deleted between two cycles.
 
 Hапример, есть команда N, которая добавляет следующую строку к pattern
 space без удаления предыдущей оттуда.
 
 Поэтому скажем, слепить склеить строку, оканчивающуюся на : со
 следующей, заменив \n на = можно.
 
 echo 'foo:
 bar baz
 zz:
 xx yy' | sed '/:$/ { N
   s/:\n/=/
 }'    
 foo=bar baz
 zz=xx yy
 То есть задачу "склеить HЕКОТОРЫЕ строки, заменив newline на что-то
 осмысленное" sed решать умеет.
   
 
 -- 
 --- ifmail v.2.15dev5.3
  * Origin: Free Net of Leninsky,45 (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: sed   Victor Wagner   31 Jan 2005 19:04:30 
 Re: sed   Artem Chuprina   31 Jan 2005 20:44:51 
Архивное /ru.linux/1517849686788.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional