我想在每行末尾添加空格。空格的数量是可变的。如果空格的数量是固定的,那么我可以使用此命令
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" ""
但我发现它的可读性较差,因为它在某种程度上隐藏了变量名。