Ele está reclamando porque você não citou o *.txt
, então o shell está expandindo o padrão, em vez de passá-lo para find
. Em outras palavras, digamos que você esteja em um diretório que contenha esses arquivos:
foo.txt bar.txt baz.txt
Quando você diz find . -name *txt -print
, o curinga ( *
) é expandido pelo shell (bash provavelmente), então o que é passado para f find
é, na verdade:
find . -name foo.txt bar.txt baz.txt -print
São muitos argumentos e find
reclama. Para obter o que você deseja, é necessário citar o padrão que você está procurando (você também não precisa do -print
para o que está fazendo):
find . -name "*txt"