Quitada ブログ HAX

Hatena Blog でも Quitada ブログ

スクリプト言語で数字を羅列する方法

クラスタ上に大量のホストがあって、それらのマシン名が、

host001
host002
 :
host999

というように、3 桁の数字を羅列するような規則正しいもので、なんらかの設定ファイルをつくるために、ホスト一覧を作成する必要に迫られました。

ま、手で作ってもいんですけど、量が多いとめんどい(最大 999 台分!)のでスクリプトで自動生成する方法を検討。えーと、シェルスクリプトとかあまりまじめに勉強してないんで、どうしましょう。特に、1 桁とか 2 桁の数字の場合は、3 桁になるよう 0 を padding する必要がありまして。ぐはぁ。

ということで、皆様のお力をお借りしてこんな結論に。たとえば、bash だと。

#!/bin/bash
 
i=0
while [ $i != 999 ]
do
i=$(($i+1))
printf "host%03d\n" $i
done

ってな感じで。php だと、

<?php 
    for($a = 1; $a < 1000; $a++) { 
        printf("host%03d\n",$a); 
      } 
?> 

ってな感じで。%03d とか \n みたいな C の printf のような表記が使えるんですね。