补全字符串
在bash中,有时候我们需要把一个字符串补全到一定字符长度,例如,员工工号要求6位数字,但是早期员工的工号较短。为了能够统一采用6位数字,我们需要补全字符串。
解决的方法是采用 printf
程序,例如
printf %-10s AABB | tr ' ' X
输出就是 AABBXXXXXX
printf %10s AABB | tr ' ' X
输出就是XXXXXXAABB
另外,还有一种比较巧妙的方法:
# length of maximum padding
padding="......................................"
printf "==== TABLE OF CONTENTS ===========================\n"
# print first line
title="1) Chapter one - the intro"
printf "%s%s %s\n" "$title" "${padding:${#title}}" "Page 1"
# print second line
title="2) Chapter two - summary"
printf "%s%s %s\n" "$title" "${padding:${#title}}" "Page 4"
${#title}
是获得title
字符串的长度
输出结果就是
==== TABLE OF CONTENTS ===========================
1) Chapter one - the intro............ Page 1
2) Chapter two - summary.............. Page 4
参考
Last updated
Was this helpful?