substitua a string de texto no arquivo [Guide]

Editar arquivos de texto manualmente no Linux pode ser entediante. É por isso que é bom saber como substituir strings de texto em arquivos usando a linha de comando rapidamente. Se você é novo no Linux e não sabe como fazer, nós podemos ajudar! Acompanhe enquanto mostramos como substituir uma string de texto em um arquivo no Linux!

Substitua a string de texto no arquivo – sed

A ferramenta sed é a melhor maneira de substituir uma string de texto em um arquivo no Linux. O motivo? É fácil de usar e faz seu trabalho muito bem. O Sed geralmente vem pré-instalado em 99% dos sistemas operacionais Linux, portanto, não há necessidade de instalá-lo para usá-lo.

A substituição de uma string de texto em um arquivo com Sed é feita com o comando sed -i. Veja como usá-lo. Primeiro, abra uma janela de terminal na área de trabalho do Linux. Você pode abrir uma janela de terminal pressionando Ctrl + Alt + T no teclado.

Assim que a janela do terminal estiver aberta e pronta para uso, escreva sed -i no prompt do terminal. Este é o início do comando de substituição.

sed -i

Depois de escrever o comando sed -i, adicione uma aspa ‘. Essa aspa é essencial, pois todo texto sendo substituído por sed -i precisa começar após essa marca.

sed -i '

Após a primeira marca, escreva s /. O s / vai diretamente antes do texto existente que você deseja substituir usando sed.

sed -i 's/

Agora que s / está escrito no prompt da linha de comando do terminal, é hora de dizer ao sed que texto substituir no arquivo. Neste exemplo, vamos substituir a palavra “maçã”.

sed -i 's/apple

Quando o texto que queremos substituir é escrito no comando, o próximo passo é escrever o novo texto que irá substituí-lo. Neste exemplo, substituiremos “maçãs” por “laranjas”.

sed -i 's/apples/oranges

Assim que o texto que queremos substituir estiver escrito no comando (laranjas), feche o comando com g /. O g / diz ao sed para substituir todas as ocorrências de texto (maçãs) pelo novo texto (laranjas). Deve ser semelhante ao exemplo abaixo.

Nota: se você não quiser substituir todos os textos no arquivo (maçãs com laranjas, por exemplo), remova ge e execute-o como sed -i ‘s / maçãs / laranjas /’.

sed -i 's/apple/orange/g'

Finalmente, diga ao sed em que arquivo está o texto que precisa ser substituído. Neste exemplo, fruit.txt no diretório inicial é o destino.

sed -i 's/apples/oranges/g' ~/fruit.txt

Pressione a tecla Enter para executar o comando e substituir a string de texto no arquivo.

Substitua a string de texto no arquivo – Perl

Outra maneira de substituir uma string de texto em um arquivo no Linux é com a linguagem de programação Perl. Perl é muito usado para processamento de texto, então, naturalmente, ele pode trocar strings de texto em arquivos e é perfeito para esse caso de uso.

Para começar, certifique-se de ter o Perl instalado em seu PC Linux. A maioria dos sistemas operacionais Linux vem com Perl instalado. No entanto, se você não o tiver, verifique a página de ajuda do seu sistema operacional para obter informações sobre como fazê-lo funcionar.

Usar Perl para substituir strings de texto em um arquivo requer o terminal. Abra um terminal na área de trabalho do Linux pressionando Ctrl + Alt + T no teclado. Ou pesquise “Terminal” no menu do aplicativo e inicie-o dessa forma.

Assim que a janela do terminal estiver aberta e pronta para uso, comece digitando perl -pe no prompt da linha de comando. O comando perl -pe é o que é necessário para substituir uma string de texto em um arquivo.

perl -pe

Ao escrever perl -pe no prompt do terminal, você precisará começar com a primeira aspa ‘. Esta marca informa ao Perl onde está a área de substituição de texto no comando.

perl -pe '

Após a primeira ‘aspa, adicione s /, seguido pela string de texto que você deseja substituir e outro /. Por exemplo, para substituir “maçãs” no arquivo fruit.txt, você escreveria o seguinte texto.

perl -pe 's/apples/

Depois de escrever a (s) palavra (s) que deseja substituir, adicione a palavra que substituirá o texto existente. Por exemplo, se você deseja substituir “maçãs” em “frutas.txt” por “laranjas”, adicione “laranjas” após perl -pe ‘s / maçãs / para que se pareça com perl -pe’ s / maçãs / laranjas / .

perl -pe 's/apples/oranges/

Depois que as duas strings de texto estiverem no comando, você precisará especificar o arquivo de entrada que o Perl usa. Por exemplo, se você deseja substituir o texto no arquivo “fruit.txt”, você precisará especificá-lo no comando.

Observação: neste exemplo, o arquivo “fruit.txt” está no diretório inicial (~ /). Certifique-se de substituir “~ / fruit.txt” pelo local do seu arquivo de texto para que o comando funcione.

perl -pe 's/apples/oranges/' ~/fruit.txt

Agora que o arquivo de entrada (o arquivo que você está modificando com Perl) foi adicionado ao comando, o comando deve ter a aparência abaixo.

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

Quando o comando acima for executado, a string de texto será substituída pelo novo texto que você especificou. Em nosso exemplo, substituímos “maçãs” por “laranjas”. Para visualizar as alterações, digite o comando abaixo.

cat fruit.txt