On 02/06/2017 08:31 AM, David Jamroga wrote:

> [fedora21@localhost ~]$ find . -iname Bon*
> 
> ./BonAirPainting
> 
> [fedora21@localhost ~]$ find . -iname bon*
> 
> ./MiscNetflix/bonbon.txt
> 
> ./BonAirPainting

Not a bug in find, but in your usage.  You forgot to use proper shell
quoting.  So you ended up executing:

find . -iname BonAirPainting

vs.

find . -iname 'bon*'

when you REALLy wanted to execute:

find . -iname 'Bon*'

in the first instance.  To prove this, rewrite your command lines to:

echo find . -iname Bon*
echo find . -iname bon*

and also play with what happens when you do:

touch bon1 bon2

and watch the behavior change yet again into a syntax error when you use
insufficient quoting.  Remember, find is one of the (few) programs where
you WANT to let 'find' do glob expansion, rather than the shell, making
it important to always quote the arguments so that the shell doesn't
prematurely expand things.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to