Bash 打印,如何
Posted
技术标签:
【中文标题】Bash 打印,如何【英文标题】:Bash Printing, how to 【发布时间】:2012-06-06 21:54:21 【问题描述】:用 bash 编写了一个脚本。现在我需要将信息带入文本文件,例如在 PostScript 中,但有一个问题。我需要有一定长度的字符串,并在页面布局的整个宽度上拉伸或收缩字符串。我试过a2ps
和enscript
,但没有这样的选择。请告诉我这个问题的解决方案,也许在 Ghostscript 中。如何更改字母间距以填充线条?提前致谢!
例如:
输入
aaa
bbbb
ccccccc
输出
a a a
b b b b
ccccccc
【问题讨论】:
我喜欢玩“猜猜我的剧本长什么样”。由于您没有发布任何代码,在这种情况下,我猜...您需要 fmt 命令。fmt
和 fold
命令不会拉伸或收缩文本。我不使用等宽字体。我需要通过更改字母间距来填充线条。
【参考方案1】:
sed -e 's/./& /g' -e 's/$/\\p/' < inputfile | groff -Tascii
使用 groff 进行调整,但 groff 只会调整单词,所以先使用 sed 让每个字符成为一个单词。如果您想要不同的字体或更好的打印等,您可以使用 groff 来输出 postscript。
【讨论】:
sed: -e expression #2, char 7: unterminated 's' command
分隔符丢失【参考方案2】:
您的流程基本上分为三个步骤:
生成您的文本文件(例如您的 shell 脚本)
打印格式(可能转换为 Postscript,例如通过 a2ps,可能完全是其他东西,例如“troff”)
将格式化的结果输出到打印机(例如“lpr”)
【讨论】:
我需要在字符中有一定长度的字符串,并在页面布局的整个宽度上拉伸或收缩字符串。用什么命令或程序我可以做到这一点? 在 postscript 中,selectfont 和 setfont 操作符设置字体缩放。以上是关于Bash 打印,如何的主要内容,如果未能解决你的问题,请参考以下文章