Usando regex em declarações de casos

Usando regex em declarações de casos
Diz -se que a expressão regular ou regex são strings alfanuméricos usados ​​para a criação de consultas de pesquisa. Expressões regulares são usadas como pesquisa e substituto enquanto valiam algumas condições. Regex pode ser usado na programação do Bash ou em qualquer outra linguagem de programação. Na maioria das vezes, a Regex é utilizável dentro das declarações de Grep e não nas declarações do caso. Este guia verá como as expressões regulares funcionam com a declaração do caso enquanto estiver usando o Ubuntu 20.04 Sistema Linux. Você deve ter que fazer login no sistema antes de ir mais longe.

Exemplo 01:

Muitas vezes, os usuários acharam difícil usar o regex (expressões regulares) nas declarações de "caso" porque o "regex" nunca funciona dentro das instruções de caso. Como alternativa, "Grep" sempre foi utilizado em vez de uma declaração de caso para o uso do Regex em Bash. Veremos um exemplo simples para ver como o grep e o caso enquanto usam expressões regulares. Portanto, abra o console do terminal antes de avançar ainda mais através do atalho “Ctrl+Alt+T”. Depois de abrir o terminal, você precisa criar um novo arquivo Bash com a consulta Touch.

Teste de Touch.sh

Após a criação do arquivo Bash, abra -o para adicionar o código Bash. Para isso, experimente a consulta declarada abaixo.

$ nano teste.sh

O arquivo Bash foi aberto no "editor GNU". Adicione o código Bash mostrado abaixo, pois está dentro do arquivo Bash. Este código estará discutindo o uso do grep enquanto a expressão regular foi usada dentro dele. Adicione a extensão da festa primeiro. Declaramos uma variável "s" com espaço e cordas como seu valor. A primeira declaração de eco exibe a mensagem de que o regex foi usado com "grep" neste código de exemplo. Na próxima linha, usamos a declaração de eco para exibir a variável "s". Enquanto o grep, o comando foi usado para pesquisar o texto "Word1" da variável "s", que corresponde à expressão regular dada na imagem. Salve seu código e deixe -o via “Ctrl+S” e “Ctrl+X” em uma linha.

É hora de executar nosso arquivo bash para ver seus resultados. Então, usamos o comando bash para executar o arquivo “Teste.sh ”. A saída mostra o resultado da variável "s" junto com a mensagem "com grep". Isso indica que o regex funciona perfeitamente dentro das declarações de Grep.

$ Bast Teste.sh

Vamos criar a mesma saída para as declarações do caso desta vez. Então, abra seu arquivo Bash novamente no editor usando a consulta "nano". Adicione a extensão do Bash e defina uma variável "s" com algum valor. Usamos a declaração "Echo" para elaborar o uso da declaração do caso agora. Iniciamos a declaração do caso enquanto pesquisamos a variável "s" dentro da expressão regular definida no código. Quando encontra a string correspondente, ele deve imprimir a variável "s" no terminal. Então, a declaração do caso foi encerrada com a palavra -chave "ESAC".

Ao executar o arquivo BASH dentro do terminal, ele lança uma exceção dizendo "Erro de sintaxe próximo ao token inesperado na [expressão]". Isso está simplesmente mostrando que a expressão regular não funciona com a declaração de caso.

Teste de $ bash.sh

Exemplo 02:

Vamos dar uma olhada em outro exemplo de expressões regulares. Desta vez, estaremos tomando uma expressão regular um pouco diferente para explorar o funcionamento de regex. Por outro lado, veremos Regex trabalhando na declaração "se" em vez da "declaração do caso". Então, abra o “teste.Arquivo SH ”novamente.

$ nano teste.sh

À medida que o arquivo é aberto agora, adicionamos a extensão do Bash e usando a instrução "se" para iniciar a condição. Na declaração "se", não nos permite adicionar nenhuma expressão regular. É por isso que usamos a expressão "= ~" para instanciar a regex no código. Dentro dessa condição, adicionamos o regex usando "$" como uma expressão regular válida. Quando o caractere adicionado corresponde à condição de expressão regular na instrução "se", ele deve salvar essa expressão em uma variável "n" e imprimir "válido". Se a condição não satisfazer, deve imprimir "inválido" no terminal e fechar a instrução "se". Basta salvar o arquivo pelo atalho "Ctrl+S" e deixar o editor por "Ctrl+X".

Agora, retornando ao terminal, tentamos a declaração de execução do Bash para executar o arquivo “Teste.SH ”três vezes analisando alguns personagens e símbolos. Adicionamos os personagens @, #e f desta vez. Todos os caracteres foram declarados "inválidos" conforme o código Bash. Isso ocorre porque usamos a expressão regular para tomar "$" apenas como válido.

Teste de $ bash.sh

Vamos tomar "$" desta vez dentro da consulta de execução para testar como funciona. Acontece que o "$" é uma expressão válida e imprime a saída "válida" no shell do console.

Teste de $ bash.sh

Exemplo 03:

Vamos ter um exemplo diferente e simples de usar expressão regular na instrução de caso. Novamente, vamos abrir o “teste.Arquivo SH ”dentro do editor do Ubuntu 20.04 Sistema.

$ nano teste.sh

Como teste.O arquivo sh bash foi lançado dentro do GNU Nano 4.8 Editor do terminal, adicione a extensão do Bash no início de um arquivo. Depois disso, utilizamos a instrução "Read" com a bandeira "-P" para obter a entrada como nome do servidor do usuário. Este nome do servidor como entrada seria salvo na variável "servidor". Este servidor deve ser um URL do servidor de domínio. Agora vamos utilizar a declaração do caso aqui para testar a expressão regular. Portanto, iniciamos a instrução CASE com o servidor variável para verificar se o domínio do servidor de entrada adicionado corresponde às outras declarações mencionadas na instrução CASE ou não. Quando o valor da variável "servidor" correspondeu ao WS*[email protected], ele usará a declaração Echo para exibir que esse domínio é "servidor da web". Se corresponder a DB*[email protected], ele utilizará a declaração "Echo" para exibir que o servidor é algum "servidor de banco de dados". Se o domínio for bk*[email protected], ele mostra o "servidor de backup". Caso contrário, ele mostrará que o servidor é desconhecido. O asterisco representa o regex. Depois disso, a declaração do caso será fechada pela palavra -chave "ESAC" no script. Salve este código e saia -o utilizando os mesmos atalhos “Ctrl+S” e “Ctrl+X”.

Agora, voltando ao terminal, vamos testar este código Bash executando o comando Bash com o nome de um teste.Arquivo SH. Após a execução, pede ao usuário que adicione o nome de usuário. Adicionamos um nome de servidor "WS" válido com 1234 como um regex e pressionado Enter. Isso mostra que a sintaxe do servidor corresponde ao "servidor da web".

Fizemos outra execução e, desta vez, mudamos a sintaxe de um servidor. Como o ponto foi perdido no URL do domínio, exibe que o servidor é desconhecido.

Quando adicionamos um domínio semelhante e correto, ele exibe o nome de um servidor.

Conclusão:

Dentro deste tutorial, discutimos como utilizar uma declaração de caso em Bash para usar expressões regulares. Esperamos que este artigo tenha ajudado você no seu melhor para eliminar as dúvidas e complicações.