私のフォルダ構造は次のとおりです。
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
。