Executar o comando Perl do shell script não resultando em nada

0

Estou tentando executar o comando abaixo a partir de um script de shell: %código% Este comando é executado sem erros, mas a execução não faz a substituição pretendida. Não parece que o shell tenha um problema com a execução do comando perl, pois perl -pi -e 's/Ç/|/g' diff_new_old.dat funciona bem. Parece um problema com a substituição de caracteres especiais.

Quando executo o mesmo comando diretamente no $ prompt, ele executa bem e substitui todos os caracteres Ç por | no arquivo. Eu quero automatizar este processo e, portanto, preciso de uma maneira de fazer isso de um script de shell.

Eu também tentei usar o comando / s / | / 'do sed. Mas isso resulta em erro abaixo: sed: -e expressão # 1, char 6: comando 'não terminado'

Por favor, deixe-me saber o que posso fazer para conseguir a substituição.

Obrigado antecipadamente.

    
por oimconsultantpune 04.02.2015 / 20:28

1 resposta

2

Você pode ter que dizer ao perl que o script contém caracteres UTF-8:

perl -Mutf8 -pi -e 's/Ç/|/g' diff_new_old.dat

veja o link

    
por 04.02.2015 / 21:37