• ベストアンサー

フォルダfolderをフォルダa01,a02,...a42にコピーするには?

bash のコマンドの書き方についてです。 folder という名前のフォルダがあります。これをそのまま a01,a02,...,a42 という42個のフォルダにコピーするには どうしたら簡単にできるでしょう。 a?? の中にfolder というフォルダを作って、その中にfolder の中身を (再帰的に)コピーするのです。 a01 だけにコピーするなら $ cp -R folder a01 とすれば良いのですが。

質問者が選んだベストアンサー

  • ベストアンサー
  • anights
  • ベストアンサー率72% (35/48)
回答No.2

あえて一行で書くなら $ for i in `seq -w 1 42`; do cp -R folder a$i; done -wオプションの代わりに-f %02gでもいいですけど。

oak_goo
質問者

お礼

ありがとうございました。 seq コマンドを知りませんでした。 「あえて一行で」にこだわりませんが、一行で済むのはとてもべんりです。

oak_goo
質問者

補足

bsd系のOSでは seq が無いことなどいろいろ調べて、 どさにっき 2.0 2006年11月12日(日) http://ya.maya.st/d/200611b.html#d20061112 に、「jot とか seq とか」についての解説を みつけました。これで解決です。

その他の回答 (1)

  • lunarosa
  • ベストアンサー率73% (30/41)
回答No.1

複数行になりますが、42回手打ちするよりは良いかと。 i=1 while [ $i -le 42 ] do if [ $i -le 9 ]; then cp -a folder a0$i else cp -a folder a$i fi let i=i+1 done

oak_goo
質問者

お礼

ありがとうございました。私もこういうスクリプトがさっとかける様になりたいと思っています。

関連するQ&A

専門家に質問してみよう