Verzeihen Sie mir, ich verwende wahrscheinlich nicht die richtigen Begriffe zur Beschreibung des Problems und verstehe die grundlegendste Verwendung einiger gängiger Befehle falsch.
Ich habe eine einfache Find-Anweisung, die Dateien sucht, die ich kopieren möchte. Ich möchte -exec cp {} anhängen und cp die Datei aus dem Quellverzeichnis in ein neues Basisverzeichnis kopieren lassen, aber den vollständigen Pfad angeben. Beispiel:
find . -name *.txt
lokalisiert/user/username/projects/source.txt
cp {} [now what?]
kopiert die Datei nach/user/newuser/projects/source.txt
Antwort1
rsync -rlpv --files-from=<(find ...) /user/username/projects /user/newuser
Antwort2
Wenn Sie sicher sein können, dass alle Unterverzeichnisse vorhanden sind, ist dies eine interessante Option:
cd /user/username/
find . -name \*.gz | sed 's/\.\(.*\)/.\1 ..\/newuser\1/' | xargs -n2 cp