- ベストアンサー
ループ文のカウント
Linuxの初心者です。bash内の基本的なループ文で困っています。 データベースのバックアップを取る為に、 例えば"000001"から"000020"までの数字を文字列で 取りたいだけなのですが、6桁の0で埋める構文が分りません。 基本的な事ですみませんが、教えてください。 #!/bin/bash COUNT=000001 DBMAX=000020 while [ $COUNT -le $DBMAX ] do DBNAME="hoge"$COUNT セット文 count=`expr $COUNT + 1` done
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
bash が使えるのなら多分 seq も printf もあると思うので… #!/bin/bash COUNT=1 DBMAX=20 for i in `seq $COUNT $DBMAX` do DBNAME=`printf 'hoge%06d' $i` echo $DBNAME done
その他の回答 (1)
- mac_res
- ベストアンサー率36% (568/1571)
回答No.2
bashを使う方法はすでに出ていますが、他にawkを使う方法も見通しが良く応用が効きます。 #!/bin/bash awk </dev/null ' BEGIN { for (i=1;i <=20;i++) { printf ("echo hoge%06d\n", i); } }' | bash
質問者
お礼
とても勉強になります。 誠にありがとうございました。
お礼
早いご回答ありがとうございました。 文字列の取得に成功しました。