URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4793
[ Назад ]

Исходное сообщение
"Как красиво заменить одно слово на другое?"

Отправлено easy_ok , 31-Окт-05 12:25 
Подскажите, пожалуйста.
Как используя shell наиболее красиво заменить одно слово в файле на другое?

Содержание

Сообщения в этом обсуждении
"Как красиво заменить одно слово на другое?"
Отправлено Brainbug , 31-Окт-05 12:29 
>Подскажите, пожалуйста.
>Как используя shell наиболее красиво заменить одно слово в файле на другое?
>

Naprimer tak:
[tmp]$ cat 1.txt
ack 10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339
[tmp]$ cat 1.txt | tr 'ack' 'ACK'
ACK 10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ACK 1196 win 64339

P.S. man tr, man sed, man awk, man perl


"Как красиво заменить одно слово на другое?"
Отправлено chip , 31-Окт-05 17:59 
>[tmp]$ cat 1.txt | tr 'ack' 'ACK'

Позвольте возразить, но tr *НЕ* имеет никакого отношения к замене слов. Наглядный пример:
/home/chip> echo 'Maniak' | tr 'ack' 'ACK'
MAniAK
/home/chip>

tr -- translate characters и всегда оным останется.

echo 'ack 10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339' | sed -e 's|ack|ACK|g' даст желаемый результат.

>man sed, man awk, man perl

с этим не поспоришь ;)


"Как красиво заменить одно слово на другое?"
Отправлено Brainbug , 01-Ноя-05 09:43 
>>[tmp]$ cat 1.txt | tr 'ack' 'ACK'
>
>Позвольте возразить, но tr *НЕ* имеет никакого отношения к замене слов. Наглядный
>пример:
>/home/chip> echo 'Maniak' | tr 'ack' 'ACK'
>MAniAK
>/home/chip>
>
>tr -- translate characters и всегда оным останется.
>
>echo 'ack 10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339' | sed -e 's|ack|ACK|g' даст желаемый результат.
>
>>man sed, man awk, man perl
>
>с этим не поспоришь ;)


Polnostju soglasen. Opla6al. Moi izvinenija.


"Как красиво заменить одно слово на другое?"
Отправлено ACCA , 31-Окт-05 21:57 
man sed