列挙フォルダにディレクトリ構造をコピーします。

列挙フォルダにディレクトリ構造をコピーします。

私のフォルダ構造は次のとおりです。

ej-1/index.html
ej-1/js/scripts.js
ej-2/index.html
ej-2/js/scripts.js
...
ej-12/index.html
ej-12/js/scripts.js

場合によっては、新しい既定のファイルとフォルダーのセットを使用して他の列挙されたフォルダーを再構成する必要があります。これを行うには、次のコマンドを使用して理想的なフォルダの基本構造を別のフォルダにコピーしてみました。

cp -r ej-1/* ej-{2..12}/*

私の期待は次のとおりです

ej-1/* -> ej-2/*
ej-1/* -> ej-3/*
...
ej-1/* -> ej-12/*

代わりに、各フォルダの内容を最後のフォルダにコピーしていくつかの上書きが発生します。

ej-1/* -> ej-12/*
ej-2/* -> ej-12/*
ej-3/* -> ej-12/*
...

私は何が間違っていましたか?

ベストアンサー1

cpマニュアルを見てください。はいman cp。関連部分は以下の通りです。

SYNOPSIS
       cp [OPTION]... SOURCE... DIRECTORY
DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

複数のパラメータを指定した場合、これは使用される形式です。これにより、SOURCE複数のsが1つのsにコピーされますDIRECTORY。つまり、いいえあなたは何が欲しいですか?代わりに、単一のディレクトリを複数のディレクトリにコピーしたい場合は、ループなどをSOURCE使用できます。for

for i in {2..12}; do cp -r ej-1/* ej-$i; done

注:これはテストされていません。また*、(あなたの質問の解釈に従って)不要だったので、ターゲットからグローブを削除し、コマンドのDIRECTORY結果を1にしましたcp

おすすめ記事