Como você substitui uma variável em um arquivo usando sed?

Como você substitui uma variável em um arquivo usando sed?

Editor de vapor, reduzido como sed, é um comando usado para encontrar e substituir qualquer texto em um arquivo usando várias técnicas e sintaxes. Neste post, entenderemos os conceitos de sed e aprendermos como você pode substituir uma variável ou seu valor em um arquivo usando sed.

A sintaxe para substituir a string

Para substituir um valor variável usando sed, primeiro precisamos entender como o SED funciona e como podemos substituir uma string simples em qualquer arquivo usando sed.

Para substituir qualquer string, a sintaxe é bem simples e dada abaixo:

$ sed -i 's/string antigo/new-string/g' file_name

Nesta sintaxe, você só precisa fornecer a string que deseja substituir na string antiga e depois a nova string nas vírgulas invertidas. Depois disso, forneça o arquivo no qual você deseja encontrar e substitua a string mencionada.

Exemplo:

Suponha que temos um arquivo de texto “arquivo.txt ”no qual temos algum texto aleatório como“ Welcome to Linuxhint's Channel ”e, neste arquivo, queremos substituir o canal do Word no site usando o comando sed.

$ CAT FILE.TXT

O comando para alterar o canal para o site seria assim:

$ sed -i 's/canal/site/g' arquivo.TXT

Depois de executar o comando, damos uma olhada no arquivo:

$ CAT FILE.TXT

A string foi substituída usando o comando sed. Então, é assim que você pode encontrar e substituir qualquer string em qualquer arquivo do sistema operacional Linux usando o comando sed.

Agora, vamos aprender a substituir um valor variável em um arquivo.

Substitua uma variável

A sintaxe para encontrar e substituir o valor de uma variável em um arquivo usando sed é o mesmo que encontrar e substituir uma string em um arquivo. A única parte complicada é escrever uma expressão regular para encontrar algo em um arquivo para substituir essa parte. Portanto, para alterar o valor de uma variável, a sintaxe será assim:

$ sed -i 's/var =.*/var = new_value/'file_name

Vejamos um exemplo para ver a verdadeira implementação e entendê -la com mais clareza.

Exemplo:

Suponha que tenhamos um arquivo de código python no qual temos algumas variáveis. Essas variáveis ​​têm alguns valores atribuídos a eles.

$ CAT Código.py

Agora, para substituir qualquer variável, podemos procurá -la por seu nome e fornecer um novo valor usando o comando sed dado abaixo:

$ sed -i 's/num1 =.*/num1 = 200/'código.py

Depois de executar o comando sed acima, exibimos o conteúdo do arquivo novamente:

$ CAT Código.py

Você pode ver que o valor da variável "num1" foi substituído de acordo com o nosso requisito.

Usando este truque simples, você pode substituir qualquer variável ou seu valor em qualquer arquivo usando sed.

Conclusão

Esta postagem fornece uma maneira simples e fácil de encontrar e substituir uma variável em qualquer arquivo usando sed. Aprendemos a substituir uma string em um arquivo e substituir o valor de uma variável usando sed.