← Back to team overview

sslug-teknik team mailing list archive

Re: find problem

 

On Mon, May 20, 2002 at 07:20:57PM +0200, Robert Larsen wrote:
> [robert@mercury opengl]$ find --version
> GNU find version 4.1.7
> [robert@mercury opengl]$ find . -name *.cpp
> find: paths must precede expression
Prøv at køre en "echo *.cpp":

[ksm@hjernemadsen fat]$ echo *.c
fat.c fatdisplay.c test.c
[ksm@hjernemadsen fat]$ find . -name *.c
find: paths must precede expression
Usage: find [path...] [expression]
[ksm@hjernemadsen fat]$ find . -name \*.c
./fat.c
./test.c
./fatdisplay.c

Tricket er at når bash (eller hvad du nu bruger af shell) ser en
stjerne, så slår den det op, inden den kalder programmet. Så når jeg
skriver: 

$ find . -name *.c

Så ser find det i virkeligheden som:

$ find . -name fat.c fatdisplay.c test.c

hvilket den overhovedet ikke forstår noget af... Derfor bruger man \*
til at fortælle shellen at man ikke vil have at den slår den op.

-- 
/-----------------------------------------------------\
| Klaus S. Madsen      | "Failure is not an option... |
| ICQ: 45400164        |  It comes bundled with your  |
| www.hjernemadsen.org |  Microsoft products!"        |
\-----------------------------------------------------/


References