親フォルダなしで同じ構造のディレクトリにファイルをコピーします。

親フォルダなしで同じ構造のディレクトリにファイルをコピーします。

.htmlある場所から別の場所にコピーする必要があるファイルがあります。

ソースフォルダには以外のファイルが含まれているため、.html最初にファイルのみを見つけて.htmlから、同じ構造を維持しながら別のディレクトリにコピーする必要があります。

このような:

cp --parents `find ./src -name '*.html'` ./dist

./dist/src/**/*.js問題は、ファイルが./dist/**/*.js

要約すると、元の親フォルダなしであるフォルダから別のフォルダにすべてのファイル(フォルダ構造を維持しながら)をコピーしたいと思います。

たとえば、

src/
  folder1/
    a.html
    a.x
  folder2/
    folder3/
      b.html

到着

dist/
  folder1/
    a.html
  folder2/
    folder3/
      b.html

ベストアンサー1

rsync -rmv --include='*/' --include='*.html' --exclude='*' src/ dest

-r 再帰、-m 空のディレクトリの整理、-v 詳細情報。デフォルトでは、rsyncはすべてをコピーするため、.htmlサフィックスを持つファイルのみを含め、残りはすべて除外します。--include='*/'rsyncをディレクトリに強制的に適用するために存在します。 rsync がないと、何もコピーされません。/src自体がdestにコピーされないように、末尾のsrcが重要です。

man rsyncスキーマ、所有権などをコピーすることを確認し、関連オプションを追加します。

おすすめ記事