SED Localizar e substituir por “OR”

2

Depois de pesquisar / pesquisar por conta própria, não encontrei uma resposta definitiva,

Estou procurando pesquisar toda a pasta / var / www / html / para ocorrências de "127.0.0.1" e substituí-las por um endereço IP do servidor (estamos removendo o banco de dados da caixa local).

Isso vale para Localhost & 127.0.0.1. Enquanto eu poderia apenas correr

find * | xargs sed -i a/127.0.0.1/ser.ver.ip.addr/g

duas vezes, depois de substituir 127.0.0.1 e localhost, prefiro não ter que executar dois comandos.

Sou capaz de fazer uma instrução OR sem que ela seja quebrada?

Algo como:

find * | xargs sed -i a/127.0.0.1|localhost/ser.ver.ip.addr/g

---------------------------- editar ------------------ ----

Encontrei um método um pouco mais confiável de fazer uma pesquisa & substituir,

find * -type f -exec sed -i 's/127.0.0.1/ser.ver.ip.addr/g' {} \;

No entanto, parece que não consigo obter a declaração de pesquisa para corresponder 127.0.0.1 OR localhost.

    
por GruffTech 07.07.2009 / 00:53

2 respostas

2
find . -type f -print | xargs sed -i -e 's/127.0.0.1/207.200.19.177/g' -e 's/localhost/207.200.19.177/g'
    
por 07.07.2009 / 01:52
3

Acho que você teria que colocá-lo entre aspas:

find * | xargs sed -i "a/127.0.0.1|localhost/ser.ver.ip.addr/g"
    
por 07.07.2009 / 00:58