我们正在将我们的UniVerse应用程序从AIX迁移到Linux。移动后,一切都很好,除了包含转义字符(char(27))的打印文件正在丢失转义字符并打印控制字符串的平面文本。我们已确认打印文件构造正确。它只在将打印文件流式传输到打印机时执行此操作。
答案 0 :(得分:0)
如果我理解正确,文件中的字符现在是^
和[
而不是^[
字面转义,您希望文字转义。如果是这种情况,您可以使用:
sed -i 's/\^\[/^[/g' oldfile >newfile
替换中的^[
是文字转义,使用 Ctrl + V Esc 键入。
如果这不是他们正在打印的内容,请发布一个示例,说明它是什么以及它应该是什么。
答案 1 :(得分:0)
我们刚刚从HP迁移到Linux并且在CentOS 5.9上遇到了同样的问题(但在RHEL 6.4上却没有!)。对我们来说,解决方案是在lpr命令上使用'-o raw'选项,该命令在sp.config引用的驱动程序文件中使用。解决方案的另一半是我们必须更改打印机设置,以便在没有自己的CR的情况下自动执行CR,否则在页面上打印行“阶梯式”。 YMMV