0
点赞
收藏
分享

微信扫一扫

shell 字符串定长,空格填充

有一个需求,需要字符串定长,如果不够就用空格填充
此处以字符串helloworld,需要定长为20,helloworld长度为10,需要填充10个空格
1、seq打印数字与分隔符
seq -s "|" 5 ==>1|2|3|4|5
2、如果我需要5个分隔符|
seq -s "|" $[5+1] ==>1|2|3|4|5|6
3、只要5个分隔符
seq -s "|" $[5+1]|sed 's/[0-9]//g' ==>|||||
4、换成空格
echo "seq -s " " $[5+1]|sed 's/[0-9]//g'"|awk '{print length($0)}' ==>5
5、函数
function test(){
busilength=$(echo ${1}|awk '{print length($0)}')
let freelength=${2}-${busilength}
busispace=$(seq -s " " $[${freelength}+1]|sed 's/[0-9]//g')
echo -e "${1}${busispace}|" #最后加了一个管道符是为了能看出来中间的空格,实际应用可以取消掉
}
aa="helloworld"
test ${aa} 20 #aa为变量,20为定长

输出结果应该为:
helloworld |


举报

相关推荐

0 条评论