Como ls com globbing para arquivos ocultos?

0

Por que o seguinte não inclui arquivos ocultos?

ls -a *vim* 

que retornará

 ls: cannot access '*vim*': No such file or directory

ls -a | grep vim 
.vim
.vimrc
    
por Nabil Sham 06.10.2016 / 19:01

2 respostas

2

Se você estiver procurando explicitamente por arquivos ocultos, use um padrão que comece com ponto,

ls .*vim*

Depois, não há necessidade da sinalização -a.

    
por 06.10.2016 / 19:18
5

É o shell que encontra os nomes dos arquivos que correspondem ao padrão, não o ls em si. Portanto, você precisa fazer com que o shell inclua nomes começando com um ponto, usando shopt -s dotglob antes do comando ls ou incluindo especificamente o ponto no padrão: .*vim* . Embora observe que, se o padrão corresponder aos diretórios, ls listará seu conteúdo (e é aqui que -a será importante, já que agora é ls listando os arquivos). Para evitar isso, use ls -d .

    
por 06.10.2016 / 19:39