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


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Eugene Grosbein                      2:5006/1       09 Aug 2007  17:26:49
 To : Andrew Lutov
 Subject : Re: Обработка текстового файла
 -------------------------------------------------------------------------------- 
 
 09 авг 2007, четверг, в 13:42 KRAST, Andrew Lutov написал(а):
 
  EG>> Теоретически sed'ом, но сначала четкий критерий "кривости" строки в
  EG>> студию.
  AL> Строка оказывается разбита на несколько (в примере на три строки).
  AL> Пример выше. Т.е. если "Hаправление" состоит HЕ из одного слова,
  AL> то режется по пробелу с заменой пробела на перевод строки.
  AL> Формат строки стандартный: [номер], дата, время, направление,
  AL> межгород/международка, куда звонили, продолжительность, ХЗ, цена.
  AL> Т.е. перед датой может быть номер, с которого был звонок, но он
  AL> проставляется только в первой строке. Остальные строки, относящиеся
  AL> к данному номеру, сам номер уже не содержат.
  AL> Это входящий файл, который присылают.
 
 Я скорее хотел спросить критерий "прямости" строки :-)
 Видимо, можно сформулировать так: строка должна заканчиваться цифрой,
 а все те, что до неё не заканчивались цифрой, её начало. Тогда так:
 
 sed -E -f fix.sed < исходный_файл
 
 А вот fix.sed:
 
 :begin
 /[0-9]$/bprint
 N
 s/\n/ /
 bbegin
 :print
 n
 bbegin
 # EOF
 
 Вначале имеем строку, проверяем - если кончается на цифру,
 переходим к метке :print, где команда n выводит строку и возвращает
 управление к началу :begin. Иначе команда N читает следующую строку,
 добавляя её к имеющейся с разделителем \n, который следующая команда s
 удаляет, далее управление возвращается опять к :begin. И так далее.
 
 Eugene
 -- 
 - Локапалы непобедимы, - сказал Кубера, а девочка подняла кубик
 и долго-долго разглядывала его, прежде чем назвать.
 --- slrn/0.9.8.1 (FreeBSD)
  * Origin: Svyaz Service JSC (2:5006/1@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Обработка текстового файла   Andrew Lutov   09 Aug 2007 11:14:59 
 Re: Обработка текстового файла   Eugene Grosbein   09 Aug 2007 13:05:32 
 Re: Обработка текстового файла   Andrew Lutov   09 Aug 2007 15:42:08 
 Re: Обработка текстового файла   Eugene Grosbein   09 Aug 2007 17:26:49 
 Re: Обработка текстового файла   Valentin Davydov   09 Aug 2007 15:27:50 
 Re: Обработка текстового файла   Andrew Lutov   10 Aug 2007 09:22:32 
Архивное /ru.unix/26093126a3f98.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional