Posso substituir uma palavra por grep?

0

Estou ciente de que posso usar sed, mas estou tentando descobrir se posso fazer a mesma coisa com grep.

Eu tenho o número 36.508 e quero substituí-lo por 36.62.

grep -v "^36.508" file3.1 | echo "36.62" 

ainda imprime 36,508. Qual é a melhor opção para mudar de 36,508 para 36,62 usando o grep?

    
por pastingwizard 01.04.2018 / 01:32

1 resposta

0

Não, você não pode substituir uma palavra por grep : grep procura linhas correspondentes à expressão que você atribuiu e imprime essas palavras (ou com -v imprime as linhas não correspondentes à expressão ).

Se você quiser substituir a correspondência, precisará de algo como sed :

sed 's/36\.508/36.62/' file3.1

ou se você quiser salvá-lo em um arquivo:

sed 's/36\.508/36.62/' file3.1 > file3.1.modified

ou se você realmente quiser modificar o arquivo de entrada (é melhor ter cuidado com isso):

sed -i 's/36\.508/36.62/' file3.1

Eu mencionei que você realmente quer ser cuidadoso com esta última forma?

    
por 01.04.2018 / 03:28

Tags