我想打印一个具有特定数字字段宽度的数字,使数字右对齐,并打印符号指示符 - 不是在数字之前,而是在间距之前。因此
$ magic -123 7
- 123
而不是
$ magic -123 7
-123
我可以使用 GNU coreutils 版本的 printf 实用程序来做到这一点吗?也许是其他版本?
注意:需要明确的是,该解决方案应该适用于任何字段间距和任何值,例如:
- 可能有零个、一个或多个空格
- 数字可能会“溢出”指定的宽度
最佳答案
简单地转换输出:
printf %+d 12 | sed 's/[+-]/\0 /'
+ 12
关于shell - 如何让 printf 生成 "+ 123"而不是 "+123"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40002653/