ei tämä varmaan sen tehokkaampi ole, mutta äkkiseltään tuntuisi, että tuon pystyisi hoitamaan 'yhdelläkin' komennolla:
find /etc/ -type f -exec cp '{}' /tmp/test/ \;
Tuosta findin -exec’istä kun niin varoitellaan, sama xargsia käyttäen mennee näin:
find /etc -type f | xargs -I '{}' echo cp '{}' /tmp/test
Mitenkäs jos haluan kopioida pelkät jpg-kuvat jostain hakemistosta säilyttäen niiden omat hakemistorakenteet ja ei kopioiden nef-kuvia?
Huh... Curiouser and curiouser... Pääsin aika lähelle tämmöisellä häkkyrällä:
find alkup_hakemisto -name \*.jpg | xargs -I '{}' cp --parents '{}' uusi_hakemisto
Tuo kopioi kyllä vain *.jpg-tiedostot ja säilyttää hakemistorakenteen, mutta (a) edellyttää, että uusi_hakemisto on valmiiksi olemassa, (b) kopioi hakemistorakenteen kokonaisuudessaan uusi_hakemisto-hakemiston alle. Siis:
uusi_hakemisto
+ alkup_hakemisto
+ alkup_hakemiston alla oleva rakenne
Joku muu saa jatkaa tästä