bash:同じファイル共有名を使用して3つのファイルを3つのディレクトリにコピーできないのはなぜですか?

bash:同じファイル共有名を使用して3つのファイルを3つのディレクトリにコピーできないのはなぜですか?

だから私がこれを行うことができれば:

$ mkdir ./blah_{007,011,090}

最後に3つのディレクトリを取得しました...

私はなぜこれを行うことができないのですか?

cp ../blah_{007,011,090}.swf ./blah_{007,011,090}_src

ファイルを3つのディレクトリにコピーしますか?

答え1

あなたは効果的に以下を実行しています。

cp ../blah_007.swf ../blah_011.swf  ../blah_090.swf ./blah_007_src ./blah_011_src ./blah_090_src

上記のコマンドが次のコマンドと異なる理由は明らかだと思います。

cp ../blah_007.swf ./blah_007_swc
cp ../blah_011.swf ./blah_011_swc
cp ../blah_090.swf ./blah_090_swc

後者が必要な場合は、次の手順を繰り返しますcp

for f in blah_{007,011,090}
do
  cp ../"$f.swf" "$f"_swc
done

答え2

バラよりman cp

   cp [OPTION]... [-T] SOURCE DEST
   cp [OPTION]... SOURCE... DIRECTORY
   cp [OPTION]... -t DIRECTORY SOURCE...

DESTSOURCE...(...参照)と比較すると、単一の属性のみが表示されます。cpいつSOURCES終わるか、いつ始まるかを知る方法DEST

使用for- ループ。

関連情報