Como substituir um personagem por outro - bash

Como substituir um personagem por outro - bash
Na script de bash, é comum substituir um caractere por outro caractere em uma string, pois isso pode ser útil para processamento de dados, manipulação de texto e muitos outros casos de uso. Felizmente, o Bash fornece vários métodos internos para fazer isso e neste artigo, abordaremos algumas das maneiras mais comuns de substituir os personagens em um script bash.

Como substituir um personagem por outro no script bash

Substituir um personagem por outro é uma tarefa comum no shash script e pode ser útil em muitos cenários diferentes. Aqui estão as três maneiras fáceis de substituir um personagem por outro em um script de bash:

  • Através do comando tr
  • Através do comando sed
  • Através da expansão dos parâmetros

Como substituir um personagem por outro usando o comando tr in bash

O comando TR é uma ferramenta simples para traduzir, excluir ou apertar caracteres em uma string. Ele pode ser usado para substituir um caractere por outro, especificando os caracteres a serem substituídos e suas substituições, aqui está a sintaxe para usar este comando:

tr '' '' '

Aqui para ilustração, se eu peguei uma string que é "Hello Linux" e, se eu quiser substituir a letra maiúscula L pela letra de maiúsculas w, isso pode ser feito com o uso do comando TR:

eco "Hello Linux" | tr 'l' 'w'

Aqui está o código Bash completo que mostra como usar o comando TR para substituir um personagem por outro:

#!/BIN/BASH
Main_string = "Hello Linux"
exportar new_string = $ (echo "$ main_string" | tr 'l' 'w')
eco "main_string:" $ main_string
eco "modificado_string:" $ new_string

Aqui está a saída para o script Bash, l é substituído por w:

Como substituir um personagem por outro usando o comando sed em bash

Outra maneira de substituir um personagem por outro personagem em Bash é usar o comando sed. O comando sed é um editor de fluxo que pode executar várias operações em uma string, incluindo substituição. Aqui está a sintaxe para usar este comando para substituir um personagem por outro:

sed 's /// g'

Aqui para ilustração, se eu peguei uma corda que é "Hello Linux" e quero substituir a letra minúscula "L" por "W", então isso pode ser feito com o uso do comando TR:

eco "Hello Linux" | sed 's/l/w/g'

Aqui está o código Bash completo que mostra como usar o comando sed para substituir um caractere por outro:

#!/BIN/BASH
Main_string = "Hello Linux"
New_string = $ (echo "$ main_string" | sed 's/l/w/g')
eco "main_string:" $ main_string
eco "modificado_string:" $ new_string

Neste exemplo, estamos usando o comando echo para gerar a string "Hello Linux" e depois canalizar a saída para o comando sed. O comando sed está usando o comando substituição (s) para substituir todas as ocorrências da letra "l" pela letra "w". A opção G no final do comando diz ao SED para substituir todas as ocorrências do personagem na string, não apenas a primeira ocorrência. A saída deste comando será "Hello Wundux":

Como substituir um caractere por outro usando a expansão dos parâmetros em bash

Outra maneira de substituir um personagem por outro em Bash, você pode estar usando uma expansão de parâmetros e aqui está um exemplo que substitui "l" da string original "w" novo personagem:

#!/BIN/BASH
Main_string = "Hello Linux"
New_string = "$ main_string // l/w"
eco "main_string:" $ main_string
eco "modificado_string:" $ new_string

Neste exemplo, estamos usando a expansão dos parâmetros para substituir todas as ocorrências da letra minúscula "H" pela letra "s" na variável main_string. A saída deste comando será "Hello Wundux":

Conclusão

Existem várias maneiras de substituir um personagem por outro personagem em Bash, incluindo o uso do comando TR, o comando sed e a expansão do parâmetro. Cada método tem suas próprias vantagens e desvantagens; portanto, escolha o que funciona melhor para o seu caso de uso específico, pois este guia dá a todos os três métodos para fazê -lo.