Alterando o texto no arquivo de texto [duplicado]

2

Existe uma maneira de linha de comando para alterar o texto no arquivo? Gostaria de dizer que eu gostaria de mudar todas as cordas "lukuunottamatta" para a forma "lukuun ottamatta" e "Lukuunottamatta" para a forma "Lukuun ottamatta".

    
por Finnuser 30.10.2014 / 20:45

1 resposta

2

sed fará o que você está pedindo: link

por exemplo. sed -i 's/lukuunottamatta/lukuun ottamatta/g' /home/user/myfile.txt

É importante observar que a opção -i (que permite fazer alterações em um arquivo no local) não existe para todas as versões do sed. Se você estiver usando uma versão mais antiga, talvez seja necessário gravar a versão alterada em um arquivo temporário e, em seguida, copiar (ou mover) o conteúdo do arquivo temporário para o arquivo real.

Aqui está um exemplo do começo ao fim para fazer o que você está perguntando:

echo "some stuff" > myfile.txt
echo "some more stuff" >> myfile.txt
echo "lukuunottamatta" >> myfile.txt
echo "and yet some more stuff" >> myfile.txt
sed -i 's/lukuunottamatta/lukuun ottamatta/g' myfile.txt
cat myfile.txt (and view that lukuunottamatta was indeed replaced with lukuun ottamatta)
    
por 30.10.2014 / 20:49