2009-03-16 1 views
3

上記のコマンドは、更新されたすべてのファイルをソースディレクトリからコピー先にコピーし、ディレクトリ構造を保持します。どのようにして、srcの* .fooファイルをすべてcpを使ってターゲットに再帰的にコピーしたり、findを見つけることができますか?

私が理解できないことは、* .someExtentionファイルだけをコピーする方法です。

find -f -name *.jsp -exec some awesome commands {} 

しかし、私はそれを行う方法がわからない(と私は詳細にinfoページを読む時間を持っていない):私はあなたのようなものを使用することができることを知っています。

すべてのサポートをよろしくお願いいたします。おかげで、 LES

答えて

7

あなたが見つける/ CPを使用したい場合は、次のようにトリック実行する必要があります。

find -f -name *.jsp -exec cp --parents {} /dest/path \; 

をしかし、rsyncのは、おそらくより良いツールです。

+0

まだテストしていませんが、必要なもののように見えます。ありがとう! 私はweb devをやるが、私はしばしばjspを変更して、ファイルをターゲットディレクトリ(mvnディレクトリ構造)にコピーする必要がある。 Rsyncは過度の可能性があります。 – les2

4

rsyncが役立つかもしれない

- あなただけの、例えば、includeおよびexcludeオプションの組み合わせで、特定のファイルをコピーし、それを伝えることができます

rsync -a \ 
    --include='*.foo' \ 
    --include='*/' \ 
    --exclude='*' \ 
    path/to/jsps/ /dest/path/ 

manualを参照し、より多くのためのセクションと題したフィルタルールを見てください。

+0

+1。あなたはfindとcpでこの作業をすることができますが、rsyncは実際にはより良いツールです。 – Eddie

関連する問題