【发布时间】:2020-09-16 19:38:30
【问题描述】:
我在使用我通常使用的 unix 工具时遇到问题,因为我无法在 QSHell 中使用某些字符。例如,在 linux 中,我可以像这样替换文件中的特定字节:
sed 's/l/\x81/' a.txt
在这种情况下,我将用字节 x81 替换“l”。但是,在 Qshell 中,我不能使用 \x ,例如,
printf '\x81'
Öx81
正如我们所见,\x81 不打印为“a”,即 EBCDIC 中的 \x81,即 iSeries 的编码。它甚至不尝试打印一个字节,它正在打印一个长度为 4 的字符串...
我想要做的只是简单地使用 sed 来替换回车,通过回车和换行之类的东西。我意识到字符 \ 不存在于 EBCDIC 中,{} 也不存在。因此,还有一些 unix 命令使用在 QShell 中显示错误的字符。请帮忙,我找不到让事情在线工作的方法,所以我没有编写任何脚本。
为了使问题不模棱两可,我特别需要一种在 Qshell 中使用其十六进制表示来打印字符的方法。
我正在使用 PCOMM tn5250 连接到 AS/400。
【问题讨论】:
标签: ibm-midrange qshell