10 exemplos práticos usando curingas para combinar nomes de arquivos no Linux
- 4128
- 1233
- Ms. Travis Schumm
Curingas (também chamado de meta caracteres) são símbolos ou caracteres especiais que representam outros personagens. Você pode usá -los com qualquer comando como o comando ls ou comando rm Para listar ou remover arquivos que correspondem a um determinado critério, receptivamente.
Leia também: 10 exemplos práticos úteis sobre operadores de encadeamento no Linux
Esses curingas são interpretados pela concha e os resultados são devolvidos ao comando que você executa. Existem três curingas principais no Linux:
- Um asterisco
(*)
- corresponde a uma ou mais ocorrências de qualquer personagem, incluindo nenhum personagem. - Ponto de interrogação
(?)
- representa ou corresponde a uma única ocorrência de qualquer personagem. - Personagens entre parênteses
([])
- corresponde a qualquer ocorrência de caracteres fechados entre colchetes. É possível usar diferentes tipos de caracteres (caracteres alfanuméricos): números, letras, outros caracteres especiais etc.
Você precisa escolher cuidadosamente qual curinga usar para corresponder aos nomes de arquivos corretos: também é possível combinar todos eles em uma operação, conforme explicado nos exemplos abaixo.
Como combinar nomes de arquivos usando curingas no Linux
Para os fins deste artigo, usaremos os seguintes arquivos para demonstrar cada exemplo.
criar backup.Lista SH.Shspace sh.SH do alto -falante.SH LISTOPEN.SH perdido.SH Renomear-Files.SH TopProcs.sh
1. Este comando corresponde a todos os arquivos com nomes começando com eu
(que é o prefixo) e terminando com uma ou mais ocorrências de qualquer personagem.
$ ls -l l*Listar arquivos com personagem
2. Este exemplo mostra outro uso de *
Para copiar todos os nomes de arquivos prefixados com usuários-0
e terminando com uma ou mais ocorrências de qualquer personagem.
$ mkdir -p Usuários-info $ ls Usuários-0* $ MV -V Usuários-0* Usuários-Info/ # Opção -v sinalizador permite a saída detalhadaListe e copie todos os arquivos
3. O comando a seguir corresponde a todos os arquivos com nomes começando com eu
seguido por qualquer personagem e terminando com st.sh
(que é o sufixo).
$ ls l?st.shCombine o arquivo com o nome do personagem
4. O comando abaixo corresponde a todos os arquivos com nomes começando com eu
seguido por qualquer um dos personagens do suporte quadrado, mas terminando com st.sh
.
$ ls l [abdcio] st.shCombinando arquivos com nomes
Como combinar curingas para combinar com os nomes de arquivos no Linux
Você pode combinar curingas para construir um nome complexo de correspondência de nome de arquivo, conforme descrito nos exemplos a seguir.
5. Este comando corresponderá a todos os nomes de arquivos prefixados com dois caracteres seguidos por st
mas terminando com uma ou mais ocorrência de qualquer personagem.
$ ls $ ls ??st*Combine nomes de arquivos com prefixo
6. Este exemplo corresponde aos nomes de arquivos começando com qualquer um desses personagens [CLST]
e terminando com uma ou mais ocorrência de qualquer personagem.
$ LS $ LS [CLST]*Combine arquivos com caracteres
7. Neste exemplos, apenas nomes de arquivos começando com qualquer um desses personagens [CLST]
seguido por um deles [io]
e então qualquer personagem, seguido por um t
e, finalmente, uma ou mais ocorrência de qualquer personagem será listada.
$ LS $ LS [CLST] [io]?t*Listar arquivos com vários caracteres
8. Aqui, nomes de arquivos prefixados com uma ou mais ocorrência de qualquer personagem, seguidos pelas letras alcatrão
e terminando com uma ou mais ocorrência de qualquer personagem será removido.
$ ls $ rm * tar * $ lsRemova arquivos com cartas de caracteres
Como combinar com os personagens definidos no Linux
9. Agora vamos ver como especificar um conjunto de caracteres. Considere os nomes de arquivos abaixo contendo informações dos usuários do sistema.
$ LS Usuários-111.Liste usuários-1aa.Liste usuários-22a.Listar usuários-2ab.Usuários TXT-2ba.Usuários TXT-111.usuários txt-1aa.Usuários TXT-22A.Usuários TXT-2AB.Usuários TXT-2ba.Usuários TXT-11a.usuários txt-1ab.Liste usuários-2aa.Usuários TXT-2ba.Liste usuários-12a.usuários txt-1ab.Usuários TXT-2AB.Listar usuários-2ba.lista
Este comando corresponderá a todos os arquivos cujo nome começa com usuários-i
, seguido de um número, uma letra ou número de caixa inferior, depois um número e termina com uma ou mais ocorrências de qualquer personagem.
$ LS Usuários- [0-9] [A-Z0-9] [0-9]*
O próximo comando corresponde aos nomes de arquivos começando com usuários-i
, seguido de um número, uma letra ou número de caixa inferior ou superior, depois um número e termina com uma ou mais ocorrências de qualquer caractere.
$ LS Usuários- [0-9] [A-ZA-Z0-9] [0-9]*
Este comando a seguir corresponderá a todos os nomes de arquivos começando com usuários-i
, seguido por um número, uma letra ou número de caixa inferior ou superior, depois uma letra inferior ou superior e termina com uma ou mais ocorrências de qualquer caractere.
$ LS Usuários- [0-9] [A-ZA-Z0-9] [A-ZA-Z]*Combinar caracteres em nomes de arquivos
Como negar um conjunto de caracteres no Linux
10. Você também pode negar um conjunto de caracteres usando o !
símbolo. O seguinte comando lista todos os nomes de arquivos começando com usuários-i
, Seguido por um número, qualquer personagem de nomeação de arquivo válido além de um número, depois uma letra inferior ou superior e termina com uma ou mais ocorrências de qualquer personagem.
$ LS Usuários- [0-9] [!0-9] [A-ZA-Z]*
É tudo por agora! Se você experimentou os exemplos acima, agora deve ter um bom entendimento de como os curingas funcionam para combinar com os nomes de arquivos no Linux.
Você também pode ler os artigos a seguir que mostram exemplos de uso de curingas no Linux:
- Como extrair arquivos TAR para diretório específico ou diferente no Linux
- 3 maneiras de excluir todos os arquivos em um diretório, exceto um ou poucos arquivos com extensões
- 10 dicas úteis para escrever scripts eficazes em Linux
- Como usar expressões AWK e regulares para filtrar texto ou string nos arquivos
Se você tiver alguma coisa a compartilhar ou uma pergunta (s) para fazer, use o formulário de comentário abaixo.
- « Instale um servidor de correio completo com Postfix e Webmail no Debian 9
- Como auditar o processo Linux usando 'Autrace' no CentOS/Rhel »