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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Kirill Nuzhdin                       2:5020/400     27 Apr 2005  15:30:21
 To : Kirill Nuzhdin
 Subject : Re: Замена по тексту
 -------------------------------------------------------------------------------- 
 
 Kirill Nuzhdin wrote:
 
 > Dmytro Rud wrote:
 > 
 >> Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> writes:
 >>
 >>
 >>> RNA> Как мне заменить строку (hex) 0D 5C 0A (то есть \r\\\n) на (hex)
 >>> RNA> 5C 72 (литерал "\r")?
 >>>
 >>> awk -v RS='' '{gsub(/\r\\\n/,"\\r"); print}'
 >>
 >>
 >>
 >> Когда символы 0D 5C 0A -- последние байты в файле или когда за ними идёт
 >> n символов 0A, то они почему-то не заменяются (а хвост из символов 0A --
 >> отрезается).  Штатный awk из 5.3 и gawk из портов ведут себя в этом
 >> отношении одинаково.  Поведение gawk исправляется установкой переменной
 >> RS в символ, о котором известно, что его не может быть в тексте
 >> (например, '\0') и до кучи -- переменной ORS в '', чтобы в конце не
 >> выводился лишний '\n'.  Что делать со штатным awk -- я не нашёл.
 >>
 > 
 > книжка по гавку:
 > 
 > "Advanced Notes: RS = "\0" Is Not Portable
 > ...
 > All other awk implementations store strings internally as C-style 
 > strings. C strings use the NUL character as the string terminator. In 
 > effect, this means that RS = "\0" is the same as RS = "". (d.c.)"
 > 
 > а почему нельзя сделать, например, так:
 > 
 > awk 'BEGIN{RS="\r\n"} 1' filename
 > 
 
 сорри, неправильно прочитал что нужно
 
 awk 'BEGIN{RS="\r\\\n"; ORS="\\r"} 1' filename
 
 -- 
 Best regards,
 Kirill Nuzhdin
 --- ifmail v.2.15dev5.3
  * Origin: MSU (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: Замена по тексту   Dmytro Rud   27 Apr 2005 10:23:14 
 Re: Замена по тексту   Kirill Nuzhdin   27 Apr 2005 15:26:47 
 Re: Замена по тексту   Kirill Nuzhdin   27 Apr 2005 15:30:21 
Архивное /ru.unix.bsd/6577abad9e44.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional