[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: заменить три пустых строки одной



Vladimir Zolotykh -> debian-russian@lists.debian.org  @ Fri, 2 Jun 2006 16:53:37 +0300:

 >>  VZ> Подскажите пожалуйста как
 >>  VZ> заменить три пустых строки подряд одной пустой строкой 
 >>  VZ> по всему файлу? Т.е. в исходной файле иногда встречаются
 >>  VZ> три пустых строки (не уверен, что в пустых строках нет пробелов
 >>  VZ> или табуляций), нужно каждую такую тройку заменить одной пустой строкой.
 >>  VZ> Вот пример одной такой тройки пустых строк (в формате OD)
 >> 
 >>  VZ> 0000000 012 012 040 012 040 040 040 040 040 040 040 040 040 040 040 040
 >>  VZ> 0000020 040 040 040 040 040 040 040 012 012
 >>  VZ> 0000031
 >> 
 >> perl -p0e 's/(^|\n)[ \t]*\n[ \t]*\n[ \t]*(\n|$)/$2/gs'
 VZ> Признаться не люблю Perl (извини), поэтому вероятно не стремлюсь
 VZ> узнать его лучше, поэтому не могу сказать, почему команда
 VZ> удаляет _все_ пустые строки не оставляя ни одной.

Пардон.  $1$2, а не просто $2.  Края надо оставить оба как есть.

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

У кошки четыре ноги: ввод, вывод, земля и питание.



Reply to: