Wie können Sie alle * .foo Dateien in src rekursiv kopieren mit cp und / oder finden zu zielen?

StackOverflow https://stackoverflow.com/questions/651136

  •  19-08-2019
  •  | 
  •  

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

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top