Sistemas  
 
Rede de conhecimento computador >> Sistemas >> Unix >> Content
Qual é o comando para listar todos os arquivos que terminam em letras pequenas unix?
Você não pode listar diretamente os arquivos terminando apenas em letras minúsculas com um único comando e globbing de arquivos básicos. Aqui está o porquê e como contornar isso:

Por que é complicado:

* Globbing básico: As conchas Unix Standard usam padrões básicos de globbing (*,?, [], etc.). Isso pode corresponder a qualquer caso de caractere, mas não pode distinguir entre maiúsculas e minúsculas para filtragem específica.

A solução:usando `find` e` grep`

Você pode combinar `find` e` grep` para conseguir isso. Aqui está como:

`` `BASH
encontrar . -Type f -Print0 | grep -ez '^./[^/]*[a -z] \.? [^/]*$' | XARGS -0 LS -L
`` `

Explicação:

1. `encontre. -Type f -Print0`:
- `encontre .`:começa a pesquisar no diretório atual (`. ')
- `-Type f`:procura apenas arquivos regulares
- `-Print0`:impressões encontradas arquivos separados por caracteres nulos (mais seguro para nomes de arquivos com espaços)

2. `grep -ez '^./[^/]*[A -z] \.? [^/]*$'`:
- `Grep`:filtra a saída de` find`
- `-e`:permite expressões regulares estendidas para mais flexibilidade
-`-z`:trata a entrada como strings terminados nulos
- A expressão regular:
- `^./`:Corresponde ao início da linha, seguido de "./" (para corresponder aos caminhos relativos)
- `[^/]*`:corresponde a todos os caracteres, exceto "/" (garantindo que ainda estamos dentro do nome do arquivo)
- `[a-z]`:corresponde a uma única letra minúscula
- `\.? [^/]*`:Corresponde a um ponto opcional (`. ') Seguido por qualquer caractere, exceto"/"
- `$`:corresponde ao fim da linha

3.
-`XARGS -0`:pega a lista de arquivos terminada em nulo de` Grep` e cria argumentos de comando
- `ls -l`:lista os arquivos (você pode alterar isso para qualquer comando que deseja executar nos arquivos filtrados)

Notas importantes:

* Arquivos ocultos: Isso encontrará arquivos ocultos (começando com '.') Que atendem aos critérios.
* Sensibilidade do caso: A expansão do nome do arquivo do seu shell pode ser sensível ou insensível a minúsculas.

Deixe -me saber se você quiser refinar mais a pesquisa!

Anterior :

Próximo :
  Os artigos relacionados
·Como nomear um arquivo Unix com um carimbo de data 
·Os tipos de conchas Unix 
·Quando uma chamada para Exec retorna no Unix? 
·Como você escreve um programa de script AWK no Unix? 
·Como descompactar um arquivo tar.gz Unix 
·Por que o Unix é um sistema operacional de multiprogra…
·O que é uma frase central? 
·Quando vários programas ou processos estão sendo exec…
·Qual é o propósito do comando tune2fs no Linux? 
·O que uf significa em eletrônica? 
  Artigos em destaque
·Como reinstalar o Ubuntu 10.0.04 Bootloader 
·Como instalar o Yahoo! no Linux 
·Como configurar o seu computador para vários usuários…
·Como parar o processo de desligamento do Windows 
·Como redefinir a senha em um NC8230 
·Como reinstalar o Windows XP com um disco de instalaçã…
·De que metal são os macs de maçã? 
·Como alterar a fonte Zen 
·Como instalar um certificado raiz para o Windows XP 
·Como limpar as chaves do Registro do Windows Vista 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados