
.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
スキーマ、所有権などをコピーすることを確認し、関連オプションを追加します。