A análise lsnunca é uma ideia maravilhosa, mas o que você tentou teria funcionado se você usasse a âncora ^para indicar o início da partida. ls -la | grep '^\.'
devnull
3
Não, não será, o nome do arquivo não é o começo da linha com o sinalizador -l. ls -la | awk '$9 ~ /^\./'vai.
Se você deseja analisar a lssaída, adicione ^no início do regex e não use a -lopção O uso -lfaz com que cada saída de linha comece com informações de permissão de arquivo ou pasta, não o nome do arquivo ou da pasta. Então você deve usar assim:
Isso listará todos os arquivos cujo nome começa com um ponto e que não são nem .nem ...
Note que se você deseja canalizar a saída de lspara grep(que, como apontado por devnull , nunca é uma boa idéia), certifique-se de usar \lsou command lsporque se lshouver um alias para mostrar a saída colorida (como no Debian, por exemplo) , sua saída contém seqüências de escape ANSI para criar uma saída colorida, que disparará sua grepse seu padrão for ancorado no início da linha.
O @ OJFord + -Adifere dos -adiretórios que lsdescem, mas ambos são (igualmente) ignorados e inúteis para nomes especificados na linha de comando com -defeito. Além disso, se lsfor aliasado, --color=auto então a tubulação está correta; apenas --color=alwaysou --colorcausa problemas.
David_thompson_085
0
A solução de val0x00ff é realmente boa, mas esquece diretórios ocultos.
Se você deseja arquivos e diretórios ocultos , sem. e ..:
Sua sugestão falha no VMware ESXi (lista nenhum arquivo e nenhum diretório) e também falha no Linux (com maxdepth> 1, ele também lista todos os arquivos em um diretório começando com a.), Mas isso funciona no Linux e no ESXi: find . \( -type f -o -type d \) -name '\.*' -print; aplique maxdepthonde for necessário.
Jeroen Wiert Pluimers
0
Abaixo um é muito compacto e suporta muitas variantes
1) Exibir arquivos, diretórios e subdiretórios ocultos
find . | grep "^\./\."
2) Exibir apenas diretórios e subdiretórios ocultos
find . -type d | grep "^\./\."
3) Exibir arquivos ocultos apenas nos subdiretórios atuais e
find . -type f | grep "^\./\."
4) Exibir arquivos e diretórios ocultos na pasta atual
find .-maxdepth 1-type f -name '\.*'-print
find .-maxdepth 1 \( -type f -o -type d \) -name '\.*'-print
Claro que você pode usar maxdepthvalores diferentes ou removê-lo completamente. Muito útil se você deseja explorar entre diretórios ( -type d) ou arquivos regulares ( type f) ou ambos, e combinar com outras funções, como:
Eu vi a resposta anterior, não é duplicada e, definitivamente, "ls -a" e "ls -Ad" não têm o mesmo significado. "-a" significa listar todos os arquivos / diretórios, incluindo "." -A significa listar tudo, exceto excluir "." , ".." e conteúdo do diretório.
ls
nunca é uma ideia maravilhosa, mas o que você tentou teria funcionado se você usasse a âncora^
para indicar o início da partida.ls -la | grep '^\.'
ls -la | awk '$9 ~ /^\./'
vai.Respostas:
ls -ld .*
fará o que você quiser.fonte
Deve funcionar se você quiser listar todos os arquivos ocultos na hierarquia de diretórios.
fonte
Se você deseja analisar a
ls
saída, adicione^
no início do regex e não use a-l
opção O uso-l
faz com que cada saída de linha comece com informações de permissão de arquivo ou pasta, não o nome do arquivo ou da pasta. Então você deve usar assim:Ou você pode fazer com o
printf
bash embutido:Se você usa
zsh
, pode usar:fonte
Aqui estão duas outras maneiras de encontrar apenas arquivos ocultos.
ou
Use
-maxdepth
para especificar até onde você deseja pesquisar na árvore de diretórios.fonte
Uma melhoria na resposta de Flup :
Isso listará todos os arquivos cujo nome começa com um ponto e que não são nem
.
nem..
.Note que se você deseja canalizar a saída de
ls
paragrep
(que, como apontado por devnull , nunca é uma boa idéia), certifique-se de usar\ls
oucommand ls
porque sels
houver um alias para mostrar a saída colorida (como no Debian, por exemplo) , sua saída contém seqüências de escape ANSI para criar uma saída colorida, que disparará suagrep
se seu padrão for ancorado no início da linha.fonte
-A
(em vez de-a
) a ignorar.
,..
.-A
difere dos-a
diretórios quels
descem, mas ambos são (igualmente) ignorados e inúteis para nomes especificados na linha de comando com-d
efeito. Além disso, sels
for aliasado,--color=auto
então a tubulação está correta; apenas--color=always
ou--color
causa problemas.A solução de val0x00ff é realmente boa, mas esquece diretórios ocultos.
Se você deseja arquivos e diretórios ocultos , sem. e ..:
fonte
find . \( -type f -o -type d \) -name '\.*' -print
; apliquemaxdepth
onde for necessário.Abaixo um é muito compacto e suporta muitas variantes
1) Exibir arquivos, diretórios e subdiretórios ocultos
find . | grep "^\./\."
2) Exibir apenas diretórios e subdiretórios ocultos
find . -type d | grep "^\./\."
3) Exibir arquivos ocultos apenas nos subdiretórios atuais e
find . -type f | grep "^\./\."
4) Exibir arquivos e diretórios ocultos na pasta atual
find . -maxdepth 1 | grep "^\./\."
fonte
Podes tentar:
Claro que você pode usar
maxdepth
valores diferentes ou removê-lo completamente. Muito útil se você deseja explorar entre diretórios (-type d
) ou arquivos regulares (type f
) ou ambos, e combinar com outras funções, como:(por exemplo, horário da última modificação, com base no exemplo @piroux - preenchido por @ jeroen-wiert-pluimers )
fonte
Podes tentar :
^ indica que é o começo do conteúdo com regexp
fonte