shell awk search & replace

Martin Kraus martin.kraus na infonet.cz
Úterý Září 27 12:49:44 CEST 2005


> >>potreboval bych v souboru nahradit retezce (konkretne jde o IP adresu),
> >>neco jako:
> >>
> >>prikaz_replace "co" "cim" /soubor

a neco jako

awk '{ if ( $0 ~ /'"$1"'/ ) { 
         print "'"$2"'" 
       } else { 
		 print $0 
       }
     }' "$3"

kde $1, $2, $3 jsou prvni,druhy a treti parametr skritpu. jediny problem by 
mohl nastat pri znaku ".", ktery se chova jako nejaky znak, ne tecka. to by 
se muselo escapovat pro pripad, ze by tam nebyly pouze ip adresy.

pokud je to tedy to co chcete

mk


Další informace o konferenci Linux