seqやprintfを用いたゼロパディングについての備忘録
基本
seqコマンドで-fオプションを用いる場合
$ seq -f %02g 0 9
00
01
02
03
04
05
06
07
08
09
printfコマンドを用いる場合
$ for i in `seq 0 5`;do printf %03d\\n ${i};done
000
001
002
003
004
005
応用
$ for i in `seq 0 2`;do echo `printf %02d $i` `printf %02d $((i+1))`;done
00 01
01 02
02 03
例えばserver01, server02, ...というように連番で名前がついたサーバーに対して共通のデータを置きたいときに
$ for i in `seq 0 9`;do ssh server`printf %02d ${i}` rsync -avz data server`printf %02d $((i+1))`:;done
としてやるとserver01からserver02, server02からserver03へのrsyncとなってserver01は早めにいじることが出来る。