我正在使用unix文件服务器上的Application Oracle框架在管道分隔的文本文件中创建报告。该文件为iso-8859-1
编码格式。但是我需要以UTF-8
格式(无法从Oracle框架生成)发送到下游,因此我要使用以下命令将其转换为UTF格式:
iconv -f iso-8859-1 -t UTF-8//TRANSLIT $i -o $i
但是需要用反感叹号字符"|"
替换"¡"
分隔符
那么在Unix中如何找到并替换"|"
字符并将其替换为"¡"
?
答案 0 :(得分:1)
INCLTED EXCLAMATION MARK是Unicode U + 00A1,并且是ISO-8859-1字符集的成员,八进制代码为0xa1或0241。如您所知,您的输入文件是iso-8859-1编码的,您可以仅使用tr
命令来转换管道:
tr '|' '\241' < infile > outfile
然后您可以使用iconv
将输出文件从ISO-8859-1转换为utf8。
演示(在ISO-8859-1终端上):
$ echo 'a|b' | tr '|' '\241'
a¡b
$