Grep global find substituir [duplicado]

1

Existe uma maneira de fazer uma expressão regular em um servidor Ubuntu e depois encontrá-lo e substituí-lo por outra? Eu estou usando o seguinte comando agora, mas não conta realmente para mudar a string grepped:

grep --recursive --ignore-case “string”

Se eu usar o awk ou o sed como eu o escreveria para substituir por exemplo o "wavbyte" com "gitship" para todas as instâncias onde o "wavbyte" ocorre para todo o meu servidor?

    
por Cody Rutscher 01.10.2018 / 02:29

1 resposta

3

Tente este comando

grep -rl "wavbyte" somedir/ | xargs sed -i 's/wavbyte/gitship/g'

Você pode tentar find e sed

find /some_path -type f -exec sed -i 's/oldstring/newstring/g' {} \;
    
por 01.10.2018 / 03:26