我发现我可以使用qsh对IBM i(as400)对象运行unix命令.我想在IBM i qsh中使用ls将对象列表流式传输到ifs上的文件.这有效,但输出似乎是在EBCDIC中,并不是很可读.有没有办法转换为ASCII?
ls -ails /QSYS.LIB/ERP.LIB > all_ERP_files.txt
Run Code Online (Sandbox Code Playgroud)
你是正确的,简单地将输出ls内qsh会给你EBCDIC.但是您可以通过管道输出iconv将其转换为utf-8,如下所示:
ls -ails /QSYS.LIB/ERP.LIB | iconv -f37 -t1208 > all_ERP_files.txt
Run Code Online (Sandbox Code Playgroud)
这-f37是假设美国CCSID(即我的).如有必要,您可以将其替换为您的,以获得更好的转换.
考虑到John的回答,我尝试使用PASE call qp2term,当我这样做时,我不必管道输出iconv,文件是在CCSID 819中创建的.
对于一般Unix社区的启发,qsh是IBM i平台上的Unix类型shell ibm-midrange.该平台使用EBCDIC而不是其他Unix的ASCII.
| 归档时间: |
|
| 查看次数: |
363 次 |
| 最近记录: |