created: 2021-06-18T05:26:22.000Z

seq の出力を printf 形式でフォーマットする -f オプション

こんな文字列が欲しい時。

2021-06-01
2021-06-02
2021-06-03
2021-06-04
2021-06-05
2021-06-06
2021-06-07
2021-06-08
2021-06-09
2021-06-10

いままでは seq に xargs をパイプしたりしていたが、seq にフォーマットオプションがあることを知ったのでそれを使う。

for d in $(seq --format '2021-06-%02g' 10); do
    echo $d
done

参考

%02d が使えなかったので検索したらこれが出てきた。やりとりの意味が掴めなかったが、--equal-width があるから不要なはず。ということなのかな。

Efficient Linuxコマンドライン ―開発と自分に磨きをかけるLinuxのテクノロジー
[ad] Efficient Linuxコマンドライン ―開発と自分に磨きをかけるLinuxのテクノロジー
Daniel J. Barrett, 大嶋 真一 (単行本(ソフトカバー))