暇な時に man seq
したらシェル芸で使えそうなオプションを発見。
SEQ(1) ユーザーコマンド SEQ(1)
名前
seq - 数字の列を表示する
書式
seq [OPTION]... LAST
seq [OPTION]... FIRST LAST
seq [OPTION]... FIRST INCREMENT LAST
説明
FIRST から LAST までの数字を INCREMENT 間隔で表示します。
長いオプションで必須となっている引数は短いオプションでも必須です。
-f, --format=FORMAT
printf 形式の FORMAT で浮動小数点を表示する
浮動小数点数形式でのみフォーマット指定子が使えるらしい。早速やってみた。
$ seq -f "羊が%f匹" 5
羊が1.000000匹
羊が2.000000匹
羊が3.000000匹
羊が4.000000匹
羊が5.000000匹
おお、たしかに。ただ羊は自然数匹しか存在し得ないためこれは微妙。しかしこれは工夫すればいいですね。
$ seq -f "羊が%.0f匹" 5
羊が1匹
羊が2匹
羊が3匹
羊が4匹
羊が5匹
小数点以下を0桁表示で実質 %d
できました。これまでだと
$ seq 5 | xargs -n1 printf ' 羊が%d匹\n'
羊が1匹
羊が2匹
羊が3匹
羊が4匹
羊が5匹
とやっていたので短さ・読みやすさともに抜群です。