Estou interpretando o "e" usado na pergunta como um "lógico e" estrito, isto é, como "localizar arquivos cujos nomes correspondem ambos *abc*
e *out
".
Você pode usar vários curingas em um padrão de globbing de nome de arquivo:
$ ls *abc*out
ou
$ find . -type f -name "*abc*out"
por exemplo.
O padrão *abc*out
corresponde a qualquer nome que contenha a string abc
e termina em out
.
Se nenhum arquivo corresponder ao padrão, o padrão ficará não expandido. Se isso acontecer, ls
obterá o padrão *abc*out
como argumento, em vez de um nome de arquivo válido, e reclamará sobre ls: cannot access *abc*out: No such file or directory
.
Para fazer com que bash
exiba um erro sobre não conseguir expandir um padrão de agrupamento de arquivos em vez de passar o padrão não expandido para ls
, defina a opção failglob
shell:
bash-4.4$ ls *abc*out
ls: *abc*out: No such file or directory
bash-4.4$ shopt -s failglob
bash-4.4$ ls *abc*out
bash: no match: *abc*out