Linux删除转义字符

时间:2012-01-19 22:34:27

标签: linux escaping u2 universe

我们正在将我们的UniVerse应用程序从AIX迁移到Linux。移动后,一切都很好,除了包含转义字符(char(27))的打印文件正在丢失转义字符并打印控制字符串的平面文本。我们已确认打印文件构造正确。它只在将打印文件流式传输到打印机时执行此操作。

2 个答案:

答案 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