Sed comando no Ubuntu não funciona

0

Sempre que eu estou usando o comando sed no Ubuntu, a saída não é refletida no arquivo.

sed 's/dog/cat/' me

não altera dog hates rat no arquivo para cat hates rat no arquivo me .

    
por meenalm 29.04.2016 / 17:28

1 resposta

3

Por padrão, sed não edita o arquivo de entrada, apenas mostra a saída no STDOUT.

Para editar um arquivo, você precisa da opção -i de sed :

sed -i.bak 's/dog/cat/' file.txt

Após a operação, o arquivo original será copiado como file.txt.bak e o arquivo modificado será file.txt .

No seu caso:

sed -i.bak 's/dog/cat/' me

Se você não quiser manter um backup:

sed -i 's/dog/cat/' file.txt

De man sed :

% bl0ck_qu0te%     
por heemayl 29.04.2016 / 17:32