find não retorna arquivos esperados

2

Estou fazendo uma pesquisa por arquivos que contenham ".anki" em seu nome de arquivo.

root@t500:/home/some1# find / -name .anki
/home/some1/.anki

Mas há outros arquivos na minha pasta pessoal que contêm .anki:

all-feb-18-2013.anki
all-mar-10-2013.anki
all-oct-06-2012.anki

Por que eles não aparecem na minha pesquisa?

    
por some1 27.07.2013 / 23:44

1 resposta

2
O predicado find -name aceita padrões de globbing tipo shell . Esses padrões são ancorados nos começos e fins das linhas. Tente isso:

find / -name '*.anki'

O * é um curinga. Ele corresponderá a zero ou mais caracteres. Sem ele, find procurará arquivos com o nome .anki . Não deixe de citar o * . Se você não fizer isso, o shell irá expandi-lo.

Você também pode usar expressões regulares com algumas variantes de localização.

find / -regex '.*\.anki'

Consulte a página de manual find(1) para obter mais informações.

    
por 27.07.2013 / 23:46