Ubuntu encontrar e substituir em arquivos do diretório atual recursivamente

1

Estou executando o Ubuntu 14.04 e o site do Magento no meu sistema local.

Agora eu tenho um diretório de módulo no qual eu quero substituir todas as ocorrências de "Magento \ Module" por "MyCompany \ Module" em todos os arquivos dentro desta pasta atual e seus subdiretórios são recursivamente óbvios, mas eu acho que não está funcionando devido a "\" existem na minha pesquisa e substituem a string.

Eu já tentei:

find ./ -type f -readable -writable -exec sed -i "s/Magento\Module/MyCompany\Module/g" {} \;

Mas não funciona de todo.

Por favor, ajude alguém, é urgente.

    
por Vicky Dev 05.12.2015 / 08:34

1 resposta

0

O shell provavelmente está consumindo uma das fugas:

$ echo sed "s/Magento\Module/MyCompany\Module/g"
sed s/Magento\Module/MyCompany\Module/g

Então, adicione um escape adicional ou cite a expressão inteira:

$ echo sed "s/Magento\\Module/MyCompany\\Module/g"
sed s/Magento\Module/MyCompany\Module/g

$ echo sed 's/Magento\Module/MyCompany\Module/g'
sed s/Magento\Module/MyCompany\Module/g

Teste:

$ echo 'every occurrence of "Magento\Module"' | sed 's/Magento\Module/MyCompany\Module/g'
every occurrence of "MyCompany\Module"
    
por steeldriver 05.12.2015 / 13:45