Localiza todas as ocorrências de uma palavra em um arquivo e adiciona uma string a elas?

0

Eu tenho um arquivo contendo meu código-fonte para um projeto no qual estou trabalhando no momento.

Eu tenho a palavra resolution espalhada sobre o arquivo e quero prefixar com self .

--snippet--

resolution = readString[:16]
resolution = resolution.replace("\"", "")

--snippet--

Como posso fazer isso?

Python, sed, grep, awk, qualquer coisa ...

    
por TellMeWhy 27.01.2016 / 22:34

2 respostas

1

Usando sed :

sed -i 's/resolution/self.&/g' some/file

Embora talvez você deva começar a usar uma IDE e suas ferramentas de refatoração.

Se resolution puder fazer parte da palavra (digamos que você tenha resolutionFoo ), use marcadores de limite de palavra:

sed -i 's/\bresolution\b/self.&/g' some/file
    
por muru 27.01.2016 / 22:38
1

Você pode usar o Vim no modo Ex:

ex -sc '%s/resolution/self.&/g|x' file
  1. % seleciona todas as linhas

  2. s substituto

  3. g substitua todas as ocorrências em cada linha

  4. x salvar e fechar

por Steven Penny 16.04.2016 / 23:11