- ベストアンサー
フォルダfolderをフォルダa01,a02,...a42にコピーするには?
bash のコマンドの書き方についてです。 folder という名前のフォルダがあります。これをそのまま a01,a02,...,a42 という42個のフォルダにコピーするには どうしたら簡単にできるでしょう。 a?? の中にfolder というフォルダを作って、その中にfolder の中身を (再帰的に)コピーするのです。 a01 だけにコピーするなら $ cp -R folder a01 とすれば良いのですが。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
あえて一行で書くなら $ for i in `seq -w 1 42`; do cp -R folder a$i; done -wオプションの代わりに-f %02gでもいいですけど。
その他の回答 (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
質問者
お礼
ありがとうございました。私もこういうスクリプトがさっとかける様になりたいと思っています。
お礼
ありがとうございました。 seq コマンドを知りませんでした。 「あえて一行で」にこだわりませんが、一行で済むのはとてもべんりです。
補足
bsd系のOSでは seq が無いことなどいろいろ調べて、 どさにっき 2.0 2006年11月12日(日) http://ya.maya.st/d/200611b.html#d20061112 に、「jot とか seq とか」についての解説を みつけました。これで解決です。