アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

a01 だけにコピーするなら
$ cp -R folder a01 とすれば良いのですが。

A 回答 (2件)

あえて一行で書くなら



$ for i in `seq -w 1 42`; do cp -R folder a$i; done

-wオプションの代わりに-f %02gでもいいですけど。

この回答への補足

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

補足日時:2007/03/17 17:10
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/12 23:37

複数行になりますが、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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/12 23:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!