Localizando arquivo e substituindo palavra por alguma palavra específica

4

Encontre algum arquivo específico e, depois que um arquivo for encontrado, eu quero uma palavra específica nele e, em seguida, substitua-o por encontrar a palavra com um novo. Posso fazer isso com uma única linha?

Por exemplo, eu quero encontrar um arquivo 'file.txt' e nesse arquivo deseja pesquisar read e substituí-lo por write usando um comando de linha única.

    
por Avani badheka 27.09.2016 / 14:06

1 resposta

12

Executar:

find -type f -name "specificFileName" -exec sed -i.bak 's/foundWord/replaceWithWord/' '{}' \;

Isso só substituirá o 'foundWord' visto pela primeira vez por 'replaceWithWord', caso você queira substituir todos esses 'g' do 'foundWord' add sed para substituir todos os vistos

find -type f -name "specificFileName" -exec sed -i.bak 's/foundWord/replaceWithWord/g' '{}' \;

note: Isto irá copiar o 'specificFileName' como seus arquivos de backup e nomeá-los com "specificFileName.bak", soltando o "-i.bak" você dirá 'sed' para substituir no local,

    
por αғsнιη 27.09.2016 / 14:09