Qual é o significado de asterisco, barra invertida, dois-pontos e dois em (* \: 2)?

14

Qual é o significado de seguir o comando ls ?

ls -l *\:2,*T
  • ls = listar
  • -l = long (lista)
  • *T provavelmente significa T no final

Mas e quanto a *\:2 e a vírgula?

    
por jugmac00 18.08.2017 / 08:40

3 respostas

25

*\:2,*T é o padrão glob de arquivos a serem listados. Para entender isso, precisamos nos lembrar de algumas coisas:

  • : precisa ser escapado no shell, tornando-se \:
  • Nomes de arquivos podem conter facilmente vírgulas

Então *\:2,*T iria, e. corresponde a um arquivo chamado TranscationNumber:2,EventType:XYT

EDITAR

A partir dos comentários, a necessidade (ou não) de escapar do : precisa de poucas palavras: É não estritamente necessário para escapar do sinal : , mas o próprio bash sugere quando autocompletar.

    
por 18.08.2017 / 09:03
14

Listar todos os arquivos que correspondem ao padrão curinga *:2,*T

Lá, o curinga * corresponde a qualquer coisa (qualquer número de todos os caracteres possíveis)
:2, são caracteres que precisam estar presentes nos nomes de arquivos / diretórios.
Os dois pontos : é um caractere especial que precisa ser escapado, portanto, a forma de \:2, .
Os nomes de arquivo / diretório precisam terminar com T .

Os nomes dos arquivos correspondentes seriam

:2,T
a:2,T
a:2,bT
abbY-$fafaf:2,<hskjhsgdfhjk>T
    
por 18.08.2017 / 09:04
9

Como outros notaram, isso listará em formato longo, arquivos contendo :2 e terminando em T

Isso parece uma pesquisa em uma pasta do Maildir para arquivos que foram excluídos (lixeira). No entanto, para robustez, deveria ter outro * no final, no entanto. Novos flags com uma posição alfabética posterior podem ser adicionados, e o Dovecot, por exemplo, adiciona outro campo com o tamanho do arquivo no final.

por 18.08.2017 / 16:45