これ:
dots=$(printf "%0.s." {1..10})
これを印刷してください:
..........
。
printf
Bashに入り、.
sを特定の列位置に印刷する方法を知りたいです。たとえば、30
開始列は異なります。
たとえば、
Add dots ....................
Add dots dots ...............
Add dots dots dots ..........
答え1
殻に
$ n=30
$ dots=$(printf "%.0s." $(seq $n))
$ echo "$dots"
..............................
だから:
$ n=30
$ str='Add dots '
$ dots=$(printf "%.0s." $(seq $((n-${#str})) ))
$ echo "$str$dots"
Add dots .....................
そして:
$ n=30; str='Add dots dots '; dots=$(printf "%.0s." $(seq $((n-${#str})) )); echo "$str$dots"
Add dots dots ................
関数では:
$ dots(){ printf "%s" "$2"; printf "%.0s." $( seq $(($1-${#2})) );echo; }
$ dots 30 "Add dots dots dots "
Add dots dots dots ...........
$ dots 40 "Add dots dots dots "
Add dots dots dots .....................
$ dots 33 "we hold these truths "
we hold these truths ............