[linux] prikaz find

Peter Trsko - dogmaT dogmat na inmail.sk
Neděle Duben 17 20:11:03 CEST 2005


Dobry den,

> Plzik Milan wrote:
> 
> >Viem:-). Je to celkom pekna chybicka - vlastne problem je tu s expanziou 
> >'*', ktoru bash robi sam od seba. Iba ak nevie expandovat slovo s *, necha 
> >ho nezmenene. Takze ak v aktualnom adresari mas viac suborov, ktore 
> >zacinaju na X (prvy pripad, expadnuje na find /etc/X11 -name Xsubor1 
> >Xsubor2...), stane sa presne to, co v prvom pripade. Ak v aktualnom 
> >adresari ale nemas nic zacinajuce na Xv, bash nespravi expanziu a find 
> >dostane ako argument skutocne Xv*
> >
> >Pokial potrebujes predat * ako argument find-u bez ohladu na expanziu, 
> >treba to spravit takto:
> >
> >find /etc/X11 -name X\*
> >
> >Spatne lomitko zabranuje expanzii znaku, co je za nim
> >
> >	Milan Plzik
> >
> toto by vysvetlovalo to na co som sa pytal, ale ako som okolo toho 
> badal, prisiel som este na jednu zaujimavu vec:
> 
> [stevo na petra ~]$ pwd
> /home/stevo
> [stevo na petra ~]$ find /etc/X11 -name pr*
> /etc/X11/starthere/preferences.desktop
> /etc/X11/proxymngr
> /etc/X11/prefdm
> [stevo na petra ~]$ cd /etc/X11
> [stevo na petra X11]$ find /etc/X11 -name pr*
> find: paths must precede expression
> Usage: find [path...] [expression]
> 
> Proste ak pred shellom tu expanziu "neochranim", k chybovej hlaske od 
> findu dojde len vtedy, ked prehladava aktualny adreasar a vzoru 
> zodpoveda viac suborov, ak prehladava iny adresar ako aktualny, tak  
> vystup findu je rovnaky ako keby som tu hviezdicku pred shellom skryl. 
> Bash nema dovod aby sa v oboch pripadoch nespraval rovnako, mohlo by to 
> znamenat, ze bash tu expanziu nerobi ani ked ta hviesdicka nie je pred 
> nim nijako chranena? Lebo ked zadam
> find -name subor1 subor2
> dostanem chybu v kazdom pripade.

Bash sa pokusi o expanziu vzdy, ale akonahle zisti, ze danemu vyrazu nic
nezodpoveda tak ten parameter preda bez zmeny.

Kedze clovek nie vzdy ma prehlad co je v adresary v ktorom sa nachadza
tak je dobre si zvyknut predavat expanzne vyrazy ako parameter uzavrete
v ''. Treba si hlavne uvedomit, kedy vyraz ma spracovat bash a kedy
program ktory pustame.

> 
> _______________________________________________
> http://lists.linux.sk/listinfo/linux
> Prehladavanie archivu: http://search.lists.linux.sk
> Meta FAQ: http://faq.lists.linux.sk

Peter Trsko
-- 
(dogmaT
        (icq 303140614)
        (jabber `(dogmat na njs.netlab.cz
                  dogmat na jabber.sk))
        (web http://dogmat.tomi.us))




Další informace o konferenci linux