Вы правы, просто перенаправив вывод ls
в qsh
, вы получите EBCDIC.Но вы можете передать этот вывод через iconv
, чтобы преобразовать его в utf-8 следующим образом:
ls -ails /QSYS.LIB/ERP.LIB | iconv -f37 -t1208 > all_ERP_files.txt
То, что -f37
принимает CCSID США (это мое).При необходимости вы можете заменить его своим, чтобы получить лучшее преобразование.
Учитывая ответ Джона, я попытался использовать PASE call qp2term
, и когда я это сделал, мне не нужно было передавать вывод через iconv
файл был создан в CCSID 819.
Для общего сообщества Unix qsh
- это оболочка типа Unix на платформе IBM i, ibm-midrange
.Эта платформа использует EBCDIC, а не ASCII, как другие Unixes.