格式化通过管道传输到 lpr 的文本;添加边距

格式化通过管道传输到 lpr 的文本;添加边距

我经常发现使用以下方法打印文本很有用

echo 'stuff' | lpr

每当文本超过小段落时,lpr 输出就会变得难以阅读;因此,我想为文本添加左右边距。一个简单的右边距修复方法是

echo 'stuff' | fmt -w 55 | lpr

但这不会在文本左侧添加任何边距。

有没有简单的方法可以实现这一点?

答案1

还有一个-w选项格式它设置了行的最大宽度和-s拆分长行的选项。默认值为-w75 个字符。我的快速解决方案类似于以下内容:

cat [stuff] | fmt -sw 50 | awk '{printf "   "$0"\n"}' | lpr

这里格式限制每行字符数(本例中为 50 个)并自动分割长行。然后此输出通过管道传输到awk在第一个引号之间添加尽可能多的空格printf,然后将行从格式并最终以 来换行"\n"

我相信这可以做到awk但我对你的偏见太深了格式我保留了它。一旦我有了表达方式,我会添加编辑awk 仅有的。

6 个字符

相关内容