Portál AbcLinuxu, 31. října 2025 07:52
Název adresáře, ve kterém chceme hledat, zadáváme vždy jako první (pokud jej vynecháme, použije se pracovní adresář).To vynechání je AFAIK právě GNU rozšíření a pokud nemáte GNU tak bude find kousat. Jinak pointa je v tom, že těch cest může být jedna a více.
find /bin /usr/bin -name find
V případě, že ukončujeme argumenty hned za uvedením {}, můžeme místo středníku použít znak „+“.Tady by se hodilo říci, že plus mění postup volání programu:
find /bin -exec prog '{}' ';'
=>
prog /bin/bash
prog /bin/cp
...
find /bin -exec prog '{}' '+'
=>
prog /bin/bash /bin/cp ...
Hodilo by se srovnání s -execdir.
Dále by se hodilo vysvětlit co je to -print, -printf a -print0. A že -print je default. To -print0 tam sice máte ale není z toho člověk moc moudrý.
             25.6.2010 08:07
alblaho             | skóre: 17
             | blog: alblog
        25.6.2010 08:07
alblaho             | skóre: 17
             | blog: alblog
            
        #!/bin/sh find . -name "$1"Používám ho denně, například:
git add `sifi HlubokoVBalíčcíchPohřbenýSoubor.java` xdg-open `sifi HlubokoVBalíčcíchPohřbenýSoubor.java`
git add **/HlubokoVBalíčcíchPohřbenýSoubor.java xdg-open **/HlubokoVBalíčcíchPohřbenýSoubor.javaNení to lepší? (Nějaký novější bash to už prý umí také)
 25.6.2010 11:40
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        25.6.2010 11:40
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        find -depth -mindepth 1 -maxdepth 5 \( -type f -o -type l \) \( -name '*.docx' -o -iname '*.doc' \) -delete
 
            
Oveľa lepšie je:
 - napísať si kratší find
   * s pár parametrami
   * jeho výsledok: 
        1) prochádzať v cykle
        2) vypísať si medzivýsledky!
            ls -lR | grep foojednodušší než
find . -name '*foo*'ale chápu že to může chápat někdo jiný :)
 
             25.6.2010 12:20
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        25.6.2010 12:20
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        find tedy bude pracovat s tím klasickým vlastníkem a skupinou, ale nebude umět třeba vypsat jen soubory, ke kterým má v ACL nastavená práva určitá skupina.
            find -iname *.pdf a find -iname '*.pdf'
Na dotaz s temi apostrofy mi to vrati vice vysledku, ale nechapu proc.
Muzete mi to nekdo prosim vysvetlit ?
             25.6.2010 13:12
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        25.6.2010 13:12
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        find je opravdu čistě GNU/Linuxová záležitost. Na ostatních UNIXových či UNIX-like systémech se chová naprosto jinak a spoustu věcí neumí.
Pokud chcete psát cross-platform skripty, je lepší se findu vyhnout.
Nekamenujte mě. Píšu to jen proto, že seriál se jmenuje Unixové nástroje, nikoli Linuxové nástroje.
Jinak uznávám, že GNU verze je prostě nejlepší a preferuju ji. Bohužel né všude je k dispozici…  
             25.6.2010 17:56
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        25.6.2010 17:56
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        iconvem soubor z jednoho kódování do toho samého a tak podobně. Upravit skript tak, aby mu tyto drobnosti nevadily, je v pohodě. V případě findu je to kolikrát major redesign (a následný major rewrite).  Navíc né každý plně implementuje UNIX Specification. Každý druhý má své Exceptions: because of backward compatibility, you know, heh.
Navíc né každý plně implementuje UNIX Specification. Každý druhý má své Exceptions: because of backward compatibility, you know, heh.  
             . Myslim si, ze findu se nelze uplne vyhnout, ale je treba omezit parametry jen na ty zakladni.
. Myslim si, ze findu se nelze uplne vyhnout, ale je treba omezit parametry jen na ty zakladni.
            
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.