Pergunta
Estou tentando usar:ls -la *randomString*
No meu script shell para listar todos os arquivos e diretórios que contêm uma substring: "Randomstring"
Tudo funciona bem, exceto quando encontrar diretórios que correspondem à substring, quando isso acontecer, vai me dar algo assim: (digamos que o nome do diretório fosse "ttrandomstringtt")
-rw-r ----- 1 MyName Nenhum 7 de janeiro 17 17:57 .yrandomstringy.txt
TTrandomStringtt: Total 16
DRWXR-S-X 2 MyName Nenhum 4096 17 de janeiro 18:00.
drwxr-s-x 3 MyName Nenhum 4096 17 de janeiro 19:00 ..
O que eu quero fazer é a lista
DRWXR-S-X 2 HCTSUI NENHUM 4096 JAN 17 18:19 TTFRANDOMSTRINGTT
Apenas como um normal ls -la
faria
Eu sou muito novo no Shell, então eu realmente preciso de ajuda, muito obrigado por me ajudar
Solução
Se o seu glob corresponder a um nome de diretório, ele listará o conteúdo do diretório. Se você não quer que isso aconteça, faça ls -lad *randomString*
Outras dicas
Outra maneira que você pode usar é o encontro, que o procuram recursivamente.
find . -iname "*randomstring*" -ls