Personagens curinga
Os três principais caracteres curinga são,
Asterisco (*) é usado para procurar um (s) personagem (s) em particular por zero ou mais vezes. Ponto de interrogação (?) é usado para procurar um número fixo de caracteres em que cada ponto de interrogação (?) indica cada personagem. Suportes quadrados são usados para combinar com os caracteres de um alcance definido ou um grupo de caracteres. Os usos desses caracteres são mostrados na próxima parte deste tutorial.
Uso de asterisco (*)
Asterisk (*) pode ser usado de várias maneiras com comandos de shell para pesquisa de arquivos. O uso diferente do asterisco (*) é mostrado nos exemplos a seguir.
Exemplo - 1: Pesquisando arquivo específico com o nome do arquivo e '*'
'ls' O comando é usado para descobrir a lista de arquivos e pastas do diretório atual. 'ls a*' O comando pesquisará e imprimirá todos os nomes de arquivos do diretório atual que começa com o personagem, 'a'.
$ ls
$ LS A*
Saída:
De acordo com a saída a seguir, existem 12 arquivos no diretório atual que começa com o personagem, 'a'.
Exemplo - 2: Pesquisando o arquivo com extensão específica e '*'
Você pode pesquisar qualquer arquivo usando o asterisco (*) e a extensão do arquivo. Se você quiser pesquisar todos os arquivos com o '.TXT' Extensão do diretório atual, execute o seguinte comando do terminal. Aqui, o nome do arquivo pode ser qualquer caractere (s) e qualquer número de caracteres.
$ ls *.TXT
Você também pode pesquisar arquivos de diferentes extensões usando o asterisco (*). O comando a seguir pesquisará todos os arquivos com extensão '.sh ' ou '.TXT'
$ ls *.Sh *.TXT
Saída:
A saída mostra a lista de todos os arquivos existentes do diretório atual com a extensão '.sh 'e'.TXT.
Exemplo - 3: Remoção do arquivo por correspondência parcial e '*'
Você pode usar o asterisco (*) para corresponder a qualquer nome de arquivo parcialmente. O seguinte comando removerá o arquivo que contém o 'teste' palavra em qualquer parte do nome do arquivo.
$ ls
$ rm *teste *
$ ls
Saída:
A saída a seguir mostra que existem dois arquivos no diretório atual que contém a palavra 'teste' e esses arquivos foram removidos após a execução do comando 'rm'.
Uso do ponto de interrogação (?)
Quando você conhece o número exato de caracteres que deseja pesquisar, então o ponto de interrogação (?) CARINDO PODE SER USADO. Os exemplos a seguir mostram o uso diferente do ponto de interrogação (?) curinga.
Exemplo - 1: Pesquisando o arquivo com o nome do arquivo e '?'
Suponha que a extensão do arquivo, o número total de caracteres de um arquivo e alguns caracteres do arquivo sejam conhecidos, então você pode usar esse curinga para pesquisar no arquivo. O primeiro comando pesquisará os arquivos que têm a extensão '.TXT'. O segundo comando pesquisará os arquivos com quatro caracteres, o último personagem é 't' e a extensão do arquivo é '.TXT'.
$ ls *.TXT
$ ls ???t.TXT
Saída:
A saída mostra que 7 arquivos existem no diretório atual com o '.TXT 'Extensão e um arquivo de texto existe com 4 caracteres e o último personagem é' t '.
Exemplo -2: Pesquisando o arquivo com extensão e '?'
Suponha que você conheça o nome do arquivo e o número total de caracteres da extensão do arquivo, então você pode usar o ponto de interrogação (?) curinga para pesquisar o arquivo. O comando a seguir pesquisará o arquivo com o nome do arquivo 'olá' E a extensão tem três caracteres.
$ ls
$ ls Olá.???
Saída:
De acordo com a saída, existem dois arquivos no diretório atual que tem o nome 'Hello' e a extensão tem três caracteres.
Uso de colchetes ([])
Diferentes faixas de caracteres ou grupo de caracteres podem ser usadas dentro de colchetes ([]) para pesquisar arquivos com base no intervalo.
Exemplo -1: Pesquise arquivos de qualquer extensão com valores de dois intervalos
O comando a seguir pesquisará qualquer arquivo cujo nome contenha qualquer caractere dentro de 'A-P'e qualquer dígito dentro'0-5'E a extensão do arquivo pode ser qualquer personagem.
$ ls
$ LS [A-P0-5]*.*
Saída:
A saída a seguir mostra a lista de todos os arquivos que correspondem ao padrão usado no comando.
Exemplo 2: O arquivo de pesquisa começa com um personagem específico e é seguido por outro personagem
Neste exemplo, o segundo comando pesquisará os nomes de arquivos começando com qualquer um desses personagens [AFGH] seguido pelo personagem 'O' com qualquer extensão.
$ ls
$ LS [AFGH]*O*
Saída:
A saída a seguir mostra a lista de todos os arquivos que correspondem ao padrão usado no comando.
Exemplo 3: Nomes de arquivos de pesquisa com o valor do prefixo
O comando a seguir corresponderá aos arquivos cujo nome começa com 'fn' e é seguido por um número dentro de 0 a 5.
$ ls fn [0-5]
O comando a seguir corresponderá aos arquivos que contêm o nome, 'Hello' e a extensão contém qualquer caractere de t para z.
$ ls Olá.[T-Z]*
Saída:
A saída a seguir mostra a lista de todos os arquivos que correspondem ao padrão usado nos comandos.
A classe de caracteres pode ser usada nos terceiros colchetes para combinar com o nome do arquivo ou a string específica no script. Diferentes classes que podem ser usadas no padrão descrito abaixo.
Nome da classe | Propósito |
---|---|
[:alfa:] | É usado para combinar com qualquer letra maiúscula e minúscula e equivalente a [a-za-z]. |
[: Digit:] | É usado para combinar com qualquer dígito e é equivalente a [0-9]. |
[: Alnum:] | É usado para combinar com qualquer alfabeto e dígito. É equivalente a [a-za-z]. |
[:superior:] | É usado para combinar apenas com a mancha e equivalente a [a-z] |
[:mais baixo:] | É usado para combinar apenas com a mancha e equivalente a [a-z] |
[:em branco:] | É usado para combinar com espaço e guia. |
[:imprimir:] | É usado para combinar com caracteres imprimíveis. |
[: cntrl:] | É usado para combinar com caracteres não impressos. |
[:espaço:] | É usado para combinar com o espaço do while. |
[: xdigit:] | É usado para combinar com dígitos hexadecimais. |
[: ASCII:] | É usado para combinar com caracteres ASCII. |
[:palavra:] | É usado para caracteres alfanuméricos, incluindo sublinhado (_). |
Os usos de quatro classes usadas principalmente nos quatro exemplos a seguir.
Exemplo 1: Uso de [: alfa:] no script Bash
O script a seguir verificará se a entrada obtida do usuário contém apenas caracteres alfabéticos.
#!/BIN/BASH
eco -n "Qual é o seu nome? "
# Atribua valor de entrada à variável
Leia o nome
# Verifique o valor de entrada contém apenas o alfabeto
se [["$ name" = ~ ^[[: alfa:]]]]; então
eco "Seu nome é $ nome."
outro
eco "entre no caráter alfabético."
fi
Saída:
A saída a seguir mostra a mensagem para entrada inválida e válida.
Exemplo 2: Uso de [: Digit:] no script Bash
O script a seguir verificará se a entrada obtida do usuário contém apenas caracteres numéricos.
#!/BIN/BASH
eco -n "Digite seu id:"
# Atribua valor de entrada à variável
Leia ID
# Defina o valor de identificação
Id = "id- $ id"
# Defina o padrão usando a classe [[: Digit:]]
regex = "Id-[[: dígito:]+"
# Verifique se o valor de entrada contém apenas o número
se [[$ id = ~ $ regex]]; então
eco "$ id é válido."
outro
eco "$ id é inválido."
fi
Saída:
A saída a seguir mostra a mensagem para entrada inválida e válida.
Exemplo 3: Uso de [: Alnum:] no script Bash
O script a seguir verificará se a entrada obtida do usuário contém apenas caracteres alfanuméricos.
#!/BIN/BASH
eco -n "Digite seu endereço:"
# Atribua valor de entrada à variável
Leia Addr
# Verifique o valor de entrada contém o alfabeto e o número apenas
se [[$ addr = ~ ^[[: alnum:]]]]; então
Echo ", o endereço é válido."
outro
eco "o endereço é inválido."
fi
Saída:
A saída a seguir mostra a mensagem para entrada inválida e válida.
Exemplo-4: Uso de [: Upper:] no script Bash
O script a seguir verificará se a entrada obtida do usuário contém apenas letras maiúsculas.
#!/BIN/BASH
eco -n "Digite seu código na carta de maiúsculas:"
# Atribua valor de entrada à variável
Leia o código
# Verifique se o valor de entrada contém todos os últimos
se [[$ code = ~ ^[[: Upper:]]]]; então
eco "o código está correto."
outro
O código de eco "pode conter apenas maiúsculas."
fi
Saída:
A saída a seguir mostra a mensagem para entrada inválida e válida.
Conclusão
Os usos básicos de caracteres curinga para pesquisar arquivos no terminal e validação de dados usando scripts bash foram mostrados neste tutorial. Espero que os exemplos mostrados aqui ajudem os usuários do Linux a escrever padrões regulares de expressão corretamente para corresponder a qualquer conteúdo para diferentes fins.