|
【办法】
采用2楼的解决办法,如下:
[php]
LEN=$((for i in "$@"; do echo "$i"; done) | wc -L)
for i in "$@"; do
gbk=$(echo "$i"|iconv -f utf8 -t gbk)
printf "%${LEN}s: balabala" "$gbk" | iconv -f gbk -t utf8
done
[/php]
【问题】
我原本是打算用printf命令来实现对齐,可是失败了,原因如题所示。
[php]
LEN=$((for i in "$@"; do echo "$i"; done) | wc -L)
for i in "$@"; do
printf "%${LEN}s: balabala" "$i"
done
[/php]
有中文的时候会出现严重的不对其(一个中文缩回一个英文字宽)
各位,有shell中实现输出对齐的办法吗? |
|