LoginSignup
1
0

More than 5 years have passed since last update.

シェルスクリプトでゼロパディング

Last updated at Posted at 2019-02-15

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は早めにいじることが出来る。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0