如何使用 sed 在 bash 中用零填充字符串并右对齐

使用此 sed 命令填充任何字符串:

pad_string_zeroes_sed.sh
sed -e :a -e 's/^.\{1,3\}$/0&/;ta'

这会将每个字符串填充到长度 4,用法示例:

pad_string_example.sh
$ echo x | sed -e :a -e 's/^.\{1,3\}$/0&/;ta'
000x

如果你想填充到不同长度,将脚本中的 3 替换为(你想要的长度 - 1)

你也可以使用这样的 bash 函数:

zero_pad4_function.sh
# 零填充到长度 4,右对齐
function zero_pad4 { echo $1 | sed -e :a -e 's/^.\{1,3\}$/0&/;ta' ; }

用法示例:

zero_pad4_usage.sh
$ zero_pad4 1x
001x

原始来源,已修改:The Unix School


Check out similar posts by category: Shell