perl + ignora “/” char em perl

2

Eu quero substituir a string America / Adak por America / Jamaica por:

       perl -i -pe "s/$A/$B/"  /etc/sysconfig/clock 

por favor, avise o que precisa atualizar na sintaxe do perl? (o problema é que eu tenho "/" então precisa ignorar esse caractere uniq, o que precisa adicionar à minha sintaxe perl?

 A="America/Adak"
 B="America/Jamaica"
 CLOCK=/etc/sysconfig/clock

 perl -i -pe "s/$A/$B/" $CLOCK

 Bareword found where operator expected at -e line 1, near "s/America/Adak/America"
 syntax error at -e line 1, near "s/America/Adak/America"
 Execution of -e aborted due to compilation errors.

 more $CLOCK
 # The ZONE parameter is only evaluated by system-config-date.
 # The timezone of the system is defined by the contents of /etc/localtime.
 ZONE="America/Adak"
 UTC=true
 ARC=false
    
por Diana 17.11.2011 / 16:41

1 resposta

5

Use um delimitador diferente, por exemplo:

perl -i -pe "s|$A|$B|" $CLOCK

Veja a página do manual perlre .

    
por 17.11.2011 / 16:59

Tags