我正在unix文件服务器上使用Application Oracle框架在管道分隔的文本文件中创建报表。此文件采用iso-8859-1编码格式。但我需要以UTF-8格式发送到下游(我无法从Oracle框架生成),因此我使用以下命令将其转换为UTF格式:

iconv -f iso-8859-1 -t UTF-8//TRANSLIT $i -o $i

但是需要用反感叹号字符替换分隔符
那么,在Unix中,如何找到并替换"|"字符并将其替换为"¡"

最佳答案

倒转感叹号是unicode U+00A1,是ISO-8859-1字符集的成员,代码为0xa1或0241(八进制)。如您所知,您的输入文件是iso-8859-1编码的,您只需使用tr命令即可转换管道:

 tr '|' '\241' < infile > outfile

然后可以使用iconv将outfile从ISO-8859-1转换为utf8。
演示(在ISO-8859-1终端上):
$ echo 'a|b' | tr '|' '\241'
a¡b
$

关于linux - 在Unix中打印/替换ALT代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51493118/

10-11 15:16