Bash remove os últimos x caracteres da string

Bash Remove Last X Characters From String



Pode ser necessário deletar letras de qualquer uma das strings às vezes. Seja qual for o caso, o Linux inclui várias ferramentas úteis integradas para remover letras de tal texto no Bash. Este artigo demonstra como excluir letras de uma string usando esses métodos. Neste post, as instruções foram executadas no Ubuntu 20.04 Focal Fossa. As mesmas instruções podem ser executadas em qualquer sistema Linux que tenha os utilitários mencionados acima instalados. Para executar as instruções, vamos utilizar o Terminal usual. O atalho Ctrl + Alt + T abrirá a ferramenta Terminal.

Método 01: Via de Substring

Nosso primeiro método para remover letras ou caracteres de uma string é mais como criar uma substring a partir de uma original. Enquanto isso, o terminal já foi aberto; faremos um arquivo bash para adicionar nosso código bash. Para que possamos fazer a remoção de caracteres ou criação de substring nele. Portanto, usamos a instrução de toque embutida em nosso shell para criar um arquivo bash.









Como o arquivo foi gerado rapidamente na pasta pessoal do Ubuntu 20.04, abra-o em algum editor para editar. Portanto, escolhemos o editor GNU para abrir o documento file.sh conforme abaixo.







Copie o código mostrado abaixo nele. Este código contém a extensão bash no início, e depois disso, declaramos uma variável string val com um valor string. Na outra linha, usamos a frase de eco para exibir essa variável no terminal. A verdadeira tarefa começa aqui. Inicializamos uma variável new e atribuímos a ela um valor que é uma substring da variável original val. Fizemos isso mencionando -14 nas chaves após dois pontos duplos. Isso informa ao compilador que ele deve remover as últimas 14 letras da string original FirstWorldCountries. As letras restantes serão salvas na variável new. Na última linha, o eco foi usado para imprimir a nova variável new.



A execução adequada de um arquivo file.sh usando o comando bash sai conforme o esperado. Primeiramente, ele exibe o valor da primeira variável de string val, e depois disso, ele exibe o valor da string recém-criada de uma primeira variável conforme a saída mostrada.

Método 02: Usando Símbolos Especiais

Outro método simples e mais fácil para remover as últimas letras ou caracteres de qualquer string é por meio de símbolos ou caracteres especiais, por exemplo, porcentagem e símbolos de ponto de interrogação. Portanto, desta vez usaremos porcentagem e ponto de interrogação para remover os caracteres de qualquer string. Portanto, já abrimos o mesmo arquivo para atualizar o script bash usando um editor GNU Nano. O código geral é o mesmo, mas a nova parte variável é um pouco diferente. Usamos um sinal de porcentagem para informar ao sistema que os números mencionados de pontos de interrogação representam o número de caracteres de uma variável val a ser removida após esse sinal de porcentagem. Você pode ver que adicionamos 9 símbolos de interrogação. Isso significa que os últimos 9 caracteres da string FirstWorldCountries serão removidos e a string restante será FirstWorld. Essa string restante será salva em uma nova variável.

Quando executamos o arquivo bash atualizado, a saída vem conforme o esperado. Mostra a string original da primeira variável e o valor da segunda variável, nova que foi criada a partir da variável val.

Método 03: Usando Sed

Sed é uma ferramenta útil e eficaz para alterar sequências de texto. Esse é um ambiente de desenvolvimento não interativo que permite trabalhar com entrada de dados e fazer transformações de texto simples. Você também pode usar o sed para excluir letras de textos que você não deseja. Usaremos uma string de exemplo e a encaminharemos para o comando sed para fins de ilustração. Você pode deletar um caractere particular de algum tipo de string com sed. Portanto, usamos a linha simples de uma string dentro da instrução echo. Usamos sed para remover a letra A da string mencionada. Certifique-se de seguir a sintaxe ‘s / string_to_be_removed //’. A saída mostra que a letra A foi removida.

Para remover a palavra Aqsa inteira, mencionamos o primeiro e o último caractere de uma palavra com os pontos dentro para representar as letras ausentes. A saída mostra a string com a remoção da palavra Aqsa.

Para remover qualquer número de últimos caracteres de uma string, mencione o número de pontos de acordo com sua exigência antes do símbolo do dólar, conforme mostrado.

Método 04: Usando Awk

Awk é uma linguagem de script sofisticada que pode ser usada para combinar padrões e processar textos. Você pode usar o Awk para mudar e modificar a entrada de várias maneiras diferentes. Você também pode deletar letras de strings usando awk. Awk parece um pouco diferente do sed. Desta vez, mudamos a corda com Aqsa Yasin. A função awk fará substring por meio do método substr e a imprimirá no terminal. O comprimento da função foi usado para demonstrar o número de letras removidas da string mencionada. Aqui, length ($ 0) -5 significa remover os últimos 5 caracteres de uma string, e o restante será uma parte de uma substring a ser impressa.

Tentamos remover os últimos 9 caracteres de uma string Aqsa Yasin e obtivemos A como substring de saída.

Método 05: Usando Cut

Cut parece ser um utilitário de linha de comando para extrair um trecho de texto de tal frase ou documento e imprimi-lo na saída padrão. Esta operação também pode ser usada para remover letras de algum tipo de string. Vamos usar uma frase de exemplo e passá-la para a instrução cut para fins de teste. Portanto, usamos a frase Aqsa Yasin e a passamos para a consulta de corte. Após o sinalizador –c, definimos o intervalo de índices de uma string para cortar os caracteres de uma string mencionada. Ele mostrará os caracteres do índice 1 ao índice 5. O índice 5 foi excluído aqui. A saída mostra os primeiros 4 caracteres como Aqsa.

Desta vez, usaremos a instrução cut de forma diferente. Usamos a função rev para inverter a string. Após o reverso de uma string, estaremos cortando o primeiro caractere de uma string. O sinalizador -c2-significa que nossa substring será o caractere 2 progressivo. Depois disso, a função reversa é novamente usada para reverter a string. Então, desta vez, recuperamos a string original com a remoção do último caractere.

Para remover os últimos 7 caracteres, você apenas tem que mencionar -c7-no comando cut enquanto usa a função reversa também.

Conclusão:

Há tempo para mais de um método para fazer uma tarefa básica no Linux. Da mesma forma, é possível excluir caracteres de um texto. Este artigo demonstrou cinco métodos distintos para eliminar caracteres indesejados de uma string, bem como algumas instâncias. Qualquer ferramenta que você escolher depende inteiramente de sua escolha e, mais crucialmente, do que você gostaria de realizar.