Removendo caracteres da string no Bash

Removing Characters From String Bash



Às vezes, você pode precisar remover caracteres de uma string. Seja qual for o motivo, o Linux fornece várias ferramentas úteis integradas que permitem remover caracteres de uma string no Bash. Este artigo mostra como usar essas ferramentas para remover caracteres de uma string.

O artigo aborda como realizar o seguinte:







  • Remova o caractere da string usando sed
  • Remova o caractere da string usando awk
  • Remova o caractere da string usando corte
  • Remova o caractere da string usando tr

Os comandos mostrados neste artigo foram executados no Ubuntu 20.04 Focal Fossa. Os mesmos comandos também podem ser executados em outras distribuições Linux que possuem as ferramentas acima disponíveis. Usaremos o aplicativo Terminal padrão para executar os comandos. Você pode acessar o aplicativo Terminal usando o atalho de teclado Ctrl + Alt + T.



Remover caracteres da string usando sed

Sed é um utilitário poderoso e prático usado para editar fluxos de texto. É um editor de texto não interativo que permite realizar manipulações básicas de texto em fluxos de entrada. Você também pode usar o sed para remover caracteres indesejados de strings.



Para fins de demonstração, usaremos uma string de amostra e, em seguida, canalizá-la para o comando sed.





Remover caractere específico da string

Usando sed, você pode remover um caractere específico de uma string. Por exemplo, para remover h da string Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | sed 's / h //'

Isso removerá apenas a primeira ocorrência de 'h' na string.
Remover caractere específico da string1
Para remover todas as ocorrências de 'h' da string, use o seguinte comando:



$jogou fora 'Olá, como vai?' | sed 's / h // g'

Onde g significa global. Isso removerá todas as ocorrências de 'h' na string.
Remover caractere específico da string2

Remover o primeiro caractere da string

Para remover o primeiro caractere da string Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | sed 's /^.//' Arquivo

Onde (.) Corresponde exatamente a um único caractere e (^) corresponde a qualquer caractere no início da string.
Remover o primeiro caractere da string

Remover o último caractere da string

Para remover o último caractere da string Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | sed 's /.$//'

Onde ( . ) corresponde exatamente a um único caractere e ($) corresponde a qualquer caractere no final da string.
Remover o último caractere da string

Remover o primeiro e o último caractere da string

Para remover o primeiro e o último caractere da string Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | sed 's /^.//; s /.$//'

Remover o primeiro e o último caractere da string

Remover caracteres da string usando awk

Awk é uma linguagem de script poderosa usada para correspondência de padrões, junto com processamento de texto. Awk permite filtrar e transformar texto de várias maneiras. Você também pode usar awk para remover caracteres de strings.

Para fins de demonstração, usaremos uma string de amostra e a enviaremos para o comando awk.

Remova o primeiro caractere de uma string

Para remover o primeiro caractere da string Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | awk '{print substr ($ 0, 2)}'

Onde ($ 0) é toda a string de destino e (2) é a posição inicial do caractere. O comando acima remove o primeiro caractere, ‘h’, caractere número ‘1’ e retorna a string de destino começando com o segundo caractere, ‘e.’
Remova o primeiro caractere de uma string

Remova os primeiros dois caracteres da string

Você também pode remover um número específico de caracteres do início de uma string. Por exemplo, para remover os primeiros dois caracteres da string Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | awk '{print substr ($ 0, 3)} ’

O comando acima removerá os dois primeiros caracteres, ‘ele’ ou os números dos caracteres ‘1 e 2’ e retornará a string de destino começando com o caractere número ‘3’ ou ‘l’.
Remova os primeiros dois caracteres da string

Remover o último caractere da string

Para remover o último caractere de Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | awk '{print substr ($ 0, 1, length ($ 0) -1)}'

Onde comprimento ($ 0) -1 significa deduzir ' 1 'Do comprimento total de caracteres.

O comando acima imprimirá a string começando com o caractere número ‘ 1 ' até comprimento ($ 0) -1 para retirar o último caractere.

Existem ' 19 'Caracteres (incluindo espaços) na string acima. O comando funcionará imprimindo todos os caracteres, começando com o caractere ‘ 1 'E até o personagem' 18 , 'Ao remover o último caractere' 19 . ’

rmv último char frm string

Remover os últimos dois caracteres da string

Para remover os dois últimos caracteres de Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | awk '{print substr ($ 0, 1, length ($ 0) -2)}'

Onde comprimento ($ 0) -2 significa deduzir ' 2 'Do comprimento total de caracteres.

O comando acima imprimirá a string, começando com o caractere número ‘ 1 'E até o caractere número' comprimento ($ 0) -2 , ’Para remover os dois últimos caracteres da string.
Remover os últimos dois caracteres da string

Remova o primeiro e o último caracteres da string

Para remover o primeiro e o último caracteres da string Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | awk '{print substr ($ 0, 2, length ($ 0) - 2)}'

Onde comprimento ($ 0) -2 significa deduzir ' 2 'Do comprimento total de caracteres.

O comando acima imprimirá a string, começando com o caractere número ' 2 'Até o caractere número' comprimento ($ 0) -2 , 'Para remover o primeiro e o último caractere.

Remova o primeiro e o último caracteres da string

Remover caractere da corda usando corte

Cut é uma ferramenta de linha de comando comumente usada para extrair uma parte do texto de uma string ou arquivo e imprimir o resultado em uma saída padrão. Você também pode usar este comando para remover caracteres de uma string.

Para fins de demonstração, usaremos uma string de amostra e, em seguida, canalizá-la para o comando cut.

Remover o primeiro caractere da string

Para remover o primeiro caractere da string, Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | cortar -c 2-

Este comando imprimirá a string, começando com o segundo caractere, enquanto remove o primeiro caractere.
rmv cut -c

Remova os primeiros quatro caracteres da string

Para remover os primeiros quatro caracteres da string Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | cortar -c 5-

Este comando imprimirá a string, começando do quinto caractere, enquanto remove os primeiros quatro caracteres.
Remova os primeiros quatro caracteres da string

Imprimir string entre o segundo e o quinto caracteres

Para imprimir a string Olá, como vai? entre o segundo e o quinto caracteres , o comando seria:

$jogou fora 'Olá, como vai?' | cortar -c 2-5

Este comando imprimirá a string, começando do segundo caractere e até o quinto caractere, enquanto remove os caracteres iniciais e finais restantes.
rmv 2º e 5º c2

Remover o último caractere da string

Para remover o último caractere da string Olá, como vai? use o cortar comando com rev , do seguinte modo:

$jogou fora 'Olá, como vai?' | rev | cortar -c2- | rev

Este comando funciona primeiro invertendo a string, depois cortando o primeiro caractere e, finalmente, revertendo-o novamente para fornecer a saída desejada.
02Remover o último caractere da string

Remover os últimos quatro caracteres da string

Para remover os últimos quatro caracteres da linha Olá, como vai? o comando seria:

$jogou fora 'Olá, como vai?' | rev | cortar -c5- | rev

Este comando funciona primeiro invertendo a string, depois cortando os primeiros quatro caracteres e, em seguida, revertendo-os novamente para fornecer a saída desejada.
rmv últimos quatro caracteres

Remova o primeiro e o último caracteres da string

Para remover o primeiro e o último caracteres da string Olá, como vai? use o cortar comando com rev , do seguinte modo:

$jogou fora 'Olá Mundo!' | cortar -c2- | rev | cortar -c2- |rev

Este comando funciona cortando o primeiro caractere, depois invertendo a string e cortando seu primeiro caractere e, em seguida, revertendo-o novamente para fornecer a saída desejada.
rmv primeiro e último

Remova o caractere da string usando tr

O comando tr (abreviação de traduzir) é usado para traduzir, comprimir e excluir caracteres de uma string. Você também pode usar tr para remover caracteres de uma string.

Para fins de demonstração, usaremos uma string de amostra e, em seguida, canalizá-la para o comando tr.

Remover todas as ocorrências de personagem

Usando o comando tr, você pode remover todas as ocorrências de caracteres minúsculos ou maiúsculos de sua string. Por exemplo, para remover todas as ocorrências do caractere minúsculo ‘h’ da string, o comando seria:

$jogou fora 'Olá, como vai?' | NS -dh

remover todas as ocorrências 01

Da mesma forma, para remover todas as ocorrências do caractere maiúsculo ‘H’ da string, o comando seria:

$jogou fora 'Olá, como vai?' | NS -dH

Você também pode usar sequências interpretadas para remover letras maiúsculas ou minúsculas:

$jogou fora 'Olá, como vai?'| NS -d [:superior:]

ocorrências mais baixas

$jogou fora 'Olá, como vai?'| NS -d [:diminuir:]

ocorrências superiores

Remover todas as ocorrências de caracteres minúsculos e maiúsculos

Você também pode remover todas as ocorrências de caracteres maiúsculos e minúsculos de uma string. Por exemplo, o comando a seguir removerá todas as ocorrências do caractere ‘h’, tanto em minúsculas quanto em maiúsculas.

$jogou fora 'Olá, como vai?' | NS -d‘HH’

ocorrências superiores e inferiores

Remova todas as ocorrências de caracteres em um intervalo específico

Para remover todas as ocorrências de caracteres de uma string no intervalo específico 'd-h', o comando seria:

$jogou fora 'Olá, como vai?' | NS -d 'd-h'

Este comando irá remover todos os caracteres no intervalo ‘d-h’ (d, e, f, g, h) na string.
intervalo específico de ocorrências

Conclusão

No Linux, sempre haverá mais de uma maneira de realizar um trabalho simples. O mesmo acontece com a remoção de caracteres de uma string. Este artigo mostrou quatro maneiras diferentes de fazer isso, junto com alguns exemplos para remover caracteres indesejados de uma string. Decidir qual ferramenta usar depende de suas preferências e, mais importante, do que você deseja alcançar.