求教一个shell输出左右对齐的问题
1个回答
展开全部
使用命令:printf "%-20s%-15s%10.2f\n" "Shan" "zhang" 35
输出:Shan zhang 35.00
分析:
%-20s表示一个左对齐、宽度为20个字符字符串格式,不足20个字符,右侧补充相应数量的空格符。
%-15s表示一个左对齐、宽度为15个字符字符串格式。
%10.2f表示右对齐、10个字符长度的浮点数,其中一个是小数点,小数点后面保留两位。
案例二:
使用命令:printf "|%10s|\n" hello
输出:| hello|
分析:%10s表示右对齐,宽度为10的字符串,如不足是个字符串,左侧补充相应数量的空格数.
案例三:
使用命令:printf "|%-10s|\n" hello
输出:|hello |
分析:和案例二比较一下
案例四:
使用命令:printf "%x %#x\n" 15 15
输出:f 0xf
分析:如果#标志和%x,%X搭配使用,在输出十六进制数字时,前面回家0x或者0X前缀.
使用标志符的作用主要是为了动态的指定宽度和精度.
输出:Shan zhang 35.00
分析:
%-20s表示一个左对齐、宽度为20个字符字符串格式,不足20个字符,右侧补充相应数量的空格符。
%-15s表示一个左对齐、宽度为15个字符字符串格式。
%10.2f表示右对齐、10个字符长度的浮点数,其中一个是小数点,小数点后面保留两位。
案例二:
使用命令:printf "|%10s|\n" hello
输出:| hello|
分析:%10s表示右对齐,宽度为10的字符串,如不足是个字符串,左侧补充相应数量的空格数.
案例三:
使用命令:printf "|%-10s|\n" hello
输出:|hello |
分析:和案例二比较一下
案例四:
使用命令:printf "%x %#x\n" 15 15
输出:f 0xf
分析:如果#标志和%x,%X搭配使用,在输出十六进制数字时,前面回家0x或者0X前缀.
使用标志符的作用主要是为了动态的指定宽度和精度.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询