sintaxe de ls --hide = e ls --ignore =

14

ls --hide e ls --ignore fornecem a possibilidade de deixar arquivos definidos através de expressões regulares definidas após a parte --ignore= . O último garante que essa opção não esteja desativada por -a, -A . O comando man e info page mencionam expressões regulares.

Pergunta : quais curingas ou expressões regulares são compatíveis com ls --hide= e ls --ignore= .

Descobri que * $ ? parece ser suportado, assim como POSIX Bracket Expressions. Mas isso não parece funcionar corretamente o tempo todo e é mais um jogo de tentativa e erro para mim. Eu senti falta de algo importante aqui?

    
por erch 15.06.2013 / 22:03

2 respostas

8

No manual :

-I pattern, --ignore=pattern

In directories, ignore files whose names match the shell pattern (not regular expression) pattern. As in the shell, an initial . in a file name does not match a wildcard at the start of pattern. Sometimes it is useful to give this option several times. For example,

     $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'

The first option ignores names of length 3 or more that start with ., the second ignores all two-character names that start with . except .., and the third ignores names that start with #.

Você pode usar somente padrões de glob de shell: * corresponde a qualquer número de caracteres, ? corresponde a qualquer caractere, […] corresponde aos caracteres entre colchetes e \ cita o próximo caractere. O caractere $ significa ele mesmo (verifique se ele está entre aspas simples ou precedido por \ para protegê-lo da expansão do shell).

    
por 16.06.2013 / 02:14
0

Ele usa o formato de padrão regex POSIX.2. Veja a página re_format(7) man para detalhes específicos.

    
por 15.06.2013 / 23:44