在文件行末添加变量空间

在文件行末添加变量空间

我想在每行末尾添加空格。空格的数量是可变的。如果空格的数量是固定的,那么我可以使用此命令

sed 's/$/  /g'

表示两个空格。

space_variable=4;

但是如果空白数量是变量(space_variable=4)那么我该如何使用它?

答案1

spaces=$(printf "%*s" "$space_variable" "")

这将返回空字符串用空格填充到宽度为 N 个字符的字段。

然后:sed "s/\$/$spaces/"

在 bash 中,你可以使用内置

printf -v spaces "%*s" "$space_variable" ""

但我发现它的可读性较差,因为它在某种程度上隐藏了变量名。

相关内容