Seu comando original está correto, desde que você queira substituir apenas a primeira ocorrência de http://
da linha com www
:
$ cat file.txt
foo http:// bar http:// spam
egg http:// test http://
$ sed 's/http:\/\//www/' file.txt
foo www bar http:// spam
egg www test http://
Agora, como você deseja substituir todas as ocorrências de http://
por www
, basta adicionar o modificador g
no final:
$ sed 's/http:\/\//www/g' file.txt
foo www bar www spam
egg www test www
Se você quiser definir um caractere diferente de /
como delimitador, poderá escolher um caractere sem significado especial para sed
e mais fácil de implementar no caso de teste. sublinhado ( _
) será uma boa escolha neste caso:
$ sed 's_http://_www_g' file.txt
foo www bar www spam
egg www test www
Se você quiser modificar o arquivo original com o conteúdo alterado, precisará da opção -i
para editar o arquivo:
$ sed -i 's_http://_www_g' file.txt
Se você quiser fazer um backup do arquivo original ao mesmo tempo:
$ sed -i.bak 's_http://_www_g' file.txt
Após essa operação, o arquivo original será mantido como file.txt.bak
e o arquivo modificado como file.txt
.