Wie können Sie alle * .foo Dateien in src rekursiv kopieren mit cp und / oder finden zu zielen?
Frage
cp -v -ur path/to/jsps/ /dest/path/
Der obige Befehl kopiert alle Dateien, die aus dem Quellverzeichnis in das Ziel aktualisiert wurden, die Verzeichnisstruktur erhalten bleiben.
Was ich kann nicht herausfinden, wie nur kopieren * .someExtention Dateien. Ich weiß, dass Sie so etwas wie verwenden können:
find -f -name *.jsp -exec some awesome commands {}
Aber ich weiß nicht, wie es zu tun (und ich habe keine Zeit, um die Info-Seiten im Detail zu lesen).
Jede Hilfe wird sehr geschätzt.
Danke, LES
Lösung
Wenn Sie feststellen, verwenden möchten / cp dann Folgendes sollte es tun:
find -f -name *.jsp -exec cp --parents {} /dest/path \;
aber rsync ist wahrscheinlich das bessere Werkzeug.
Andere Tipps
rsync könnte helfen - Sie können es nur bestimmte kopieren sagen, können Dateien mit einer Kombination von Optionen include und exclude, zB
rsync -a \
--include='*.foo' \
--include='*/' \
--exclude='*' \
path/to/jsps/ /dest/path/
Sehen Sie das Handbuch und Blick auf den Filterregeln Abschnitt mit dem Titel für mehr.