2012-05-01 9 views

risposta

12

Come utilizzare la ricerca?

find $DIR -name \*.jpg -o -name \*.png -o -name \*.gif -print 
+0

Mi hai battuto. Nota che questo troverà anche le cose nelle sottodirectory, a meno che non venga usato qualcosa come -maxdepth. –

+0

Ho provato ad usare questo codice in questo modo: PIC = $ (trova $ DIR -name \ *. Jpg -o -name \ *. Png -o -name \ *. Gif -print | shuf -n1) E poi Ho echo $ PIC, ma vengono visualizzate solo le righe vuote. – bbbgscott

+0

Hai scritto la barra rovesciata davanti a '*'? – Oliver

3

Supponendo bash, il più semplice cambiamento sarebbe

PIC=$(ls $DIR/*.{jpg,png,gif} | shuf -n1) 

Ecco un esempio sulla mia macchina

$ export DIR=Desktop 
$ PIC=$(ls $DIR/*.{jpg,png,gif} | shuf -n1) 
$ echo $PIC 

Desktop/polar.png 

mi consiglia di utilizzare per trovare che, invece.

+0

quando provo quel codice, ottengo ls: impossibile accedere /home/username/Pictures/Wallpapers/*.{jpg,png}: Nessun file o directory Sto facendo qualcosa di sbagliato? – bbbgscott

+0

'Assuming bash' – sehe

+0

È bash. Ho incluso lo shebang nella parte superiore del file. – bbbgscott

Problemi correlati