Portál AbcLinuxu, 6. května 2025 14:19
Ahoj,
mam jeden dotazek. Kdyz napisu neco jako find /adr -type f -regex 'cosi' -exec prikaz '{}' \;
tak se nejdrive vytvori seznam vyhovujicich souboru, nebo se zacne prikaz spoustet hned jak se najde prvni odpovidajici soubor?
Diky
Pro každý nalezený soubor to spustí příkaz zvlášť.
Příklad:
máš v adresáři soubory foo bar neco test
find . -type f -exec rm '{}' ';'
spuštěný v daném adresáři spustí:
rm foo rm bar rm neco rm test
Pokud chceš, aby příkaz za exec dostal seznam všech vyhovujících souborů, použij xargs a find s parametrem -print0:
find /adr -type f -regex 'cosi' -print0 | xargs -0 prikaz '{}'
Tohle řešení spustí příkaz se všemi findu odpovídajícími soubory jako jeho parametr.
IMHO to norma nijak nespecifikuje, takže to bude asi implementačně závislé (ale zdrojáky jsem nezkoumal). Pokud potřebujete, aby to vypsalo seznam souborů vůči nějakému okamžiku, tak bych to spíš řešil přes snapshoty celého filesystému...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.