クラスタ上に大量のホストがあって、それらのマシン名が、
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 のような表記が使えるんですね。