Re: FIND.
Anders Holmberg <anders@canit.se> writes:
> Hej Debianers!
> När jag använder find fungerar det inte alltid som jag vill.
> Antagligen beror det på min lathet.
> Dvs att jag inte orkat läsa manualsidorna till find.
> Jag försökte följande sträng men det ville sig inte als.
> find / -name *.log
Det här är en vanlig fälla och enkel att besvara.
Innan paramerar skickas till programmet tolkas de av skalet, vanligen
bash, och *.log expanderas till all filer som matchar *.log. Dvs, i en
katalog som innehåller filerna a.log, b.log och c.log blir
kommandoraden som find(1) ser *inte* "/ -name *.log" utan "/ -name
a.log b.log c.log". Sätt alltid ' eller " runt "ord" som innehåller
{, }, [, ], * eller ? - alternativt sätt \ framför det tecken du inte
vill att skalet skall expandera.
Om det inte finns några .log-filer i aktuell katalog får find
kommandoraden "/ -name *.log" - därför fungerar det ibland och ibland
inte.
Testa med hjälp av echo(1) om du är osäker på om hur en kommandorad
kommer att tolkas.
Jag hoppas att det klarnade litegrann.
--
( GnuPG/PGP key @ www.dtek.chalmers.se/~d4jonas/ ! Wei Wu Wei )
( Meaning of U2 Lyrics, Roleplaying, Emacs/Gnus ! To Do Without Do )
Reply to:
- References:
- FIND.
- From: Anders Holmberg <anders@canit.se>