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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Dmytro Rud                           2:5020/400     27 Apr 2005  10:23:14
 To : Eugene Grosbein
 Subject : Re: Замена по тексту
 -------------------------------------------------------------------------------- 
 
 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 -- я не нашёл.
 
 -- 
         rnd.
 --- ifmail v.2.15dev5.3
  * Origin: Otto-von-Guericke-Universitaet Magdeburg, FIN (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/32636dfb1ad60.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional