Programação BASH

Removendo caracteres da string no Bash

Removendo caracteres da string no 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:

Os comandos mostrados neste artigo foram executados no Ubuntu 20.04 Fossa Focal. 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, vamos usar 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 “Oi como vai?”O comando seria:

$ echo "olá tudo bem?"| sed 's / h //'

Isso removerá apenas a primeira ocorrência de 'h' na string.

Para remover todas as ocorrências de 'h' da string, use o seguinte comando:

$ echo "olá tudo bem com você?"| sed 's / h // g'

Onde g significa global. Irá remover todas as ocorrências de 'h' na string.

Remover o primeiro caractere da string

Para remover o primeiro caractere da string “Oi como vai?” o comando seria:

$ echo "olá tudo bem com você?"| sed 's / ^.//' Arquivo

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

Remover o último caractere da string

Para remover o último caractere da string “Oi como vai?” o comando seria:

$ echo "olá tudo bem com você?"| sed 's /.$ // '

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

Remover o primeiro e o último caractere da string

Para remover o primeiro e o último caractere da string “Oi como vai?” o comando seria:

$ echo "olá tudo bem com você?"| sed 's / ^.//; s /.$ // '

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 que você filtre e transforme texto de várias maneiras. Você também pode usar awk para remover caracteres de strings.

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

Remover o primeiro caractere de uma string

Para remover o primeiro caractere da string “Oi como vai?” o comando seria:

$ echo "olá tudo bem?"| 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,' número do caractere '1,' e retorna a string de destino começando com o segundo caractere, 'e.'

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 “Oi como vai?” o comando seria:

$ echo "olá tudo bem?"| awk 'print substr ($ 0, 3)'

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

Remover o último caractere da string

Para remover o último caractere de “Oi como vai?” o comando seria:

$ echo "olá tudo bem com você?"| awk 'print substr ($ 0, 1, length ($ 0) -1)'

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

O comando acima irá imprimir a string começando com o número do caractere '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é personagem'18,'enquanto remove o último caractere'19.'

Remover os últimos dois caracteres da string

Para remover os dois últimos caracteres de “Oi como vai?”O comando seria:

$ echo "olá tudo bem?"| awk 'print substr ($ 0, 1, length ($ 0) -2)'

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

O comando acima irá imprimir a string, começando com o número do caractere '1'e até o número do caractere'comprimento ($ 0) -2,'para remover os dois últimos caracteres da string.

Remover o primeiro e o último caracteres da string

Para remover o primeiro e o último caracteres da string “Oi como vai?” o comando seria:

$ echo "olá tudo bem com você?"| awk 'print substr ($ 0, 2, length ($ 0) - 2)'

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

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

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, canalizaremos para o comando cut.

Remover o primeiro caractere da string

Para remover o primeiro caractere da string, “Oi como vai?” o comando seria:

$ echo "olá tudo bem com você?"| cut -c 2-

Este comando irá imprimir a string, começando com o segundo caractere, enquanto remove o primeiro caractere.

Remova os primeiros quatro caracteres da string

Para remover os primeiros quatro caracteres da string “Oi como vai?” o comando seria:

$ echo "olá tudo bem com você?"| cut -c 5-

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

Imprimir string entre o segundo e o quinto caracteres

Para imprimir a string “Oi como vai?” entre o segundo e o quinto caracteres, o comando seria:

$ echo "olá tudo bem com você?"| cut -c 2-5

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

Remover o último caractere da string

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

$ echo "olá tudo bem com você?"| rev | cut -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.

Remover os últimos quatro caracteres da string

Para remover os últimos quatro caracteres da linha “Oi como vai?” o comando seria:

$ echo "olá tudo bem com você?"| rev | cut -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.

Remova o primeiro e o último caracteres da string

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

$ echo "olá mundo!"| corte -c2- | rev | corte -c2- | rev

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

Remova o caractere da string usando tr

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

Para fins de demonstração, vamos usar 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:

$ echo "Olá, tudo bem??"| tr -d h

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

$ echo "Olá, tudo bem??"| tr -d H

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

$ echo "Olá, tudo bem??"| tr -d [: superior:]

$ echo "OLÁ, como vai você?"| tr -d [: inferior:]

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 como em maiúsculas.

$ echo "Olá, tudo bem??"| tr -d 'hH'

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:

$ echo "olá tudo bem com você?"| tr -d 'd-h'

Este comando irá remover todos os caracteres no intervalo 'd-h' (d, e, f, g, h) na string.

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.

Portas de código aberto para motores de jogos comerciais
Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...
Melhores jogos de linha de comando para Linux
A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...
Melhores aplicativos de mapeamento de gamepad para Linux
Se você gosta de jogar no Linux com um gamepad em vez de um teclado típico e sistema de entrada de mouse, existem alguns aplicativos úteis para você. ...