在Unix中打印/替换ALT代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Unix中打印/替换ALT代码相关的知识,希望对你有一定的参考价值。

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

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

但是需要用倒置的感叹号字符"|"替换"¡"分隔符

那么怎样才能找到并替换"|"字符并用Unix中的"¡"替换它?

答案

INVERTED EXCLAMATION MARK是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
$

以上是关于在Unix中打印/替换ALT代码的主要内容,如果未能解决你的问题,请参考以下文章

替换从 VAST 代码返回的多个 HLS VOD 片段

替换或删除后台堆栈上现有片段的代码不起作用

argparse 代码片段只打印部分日志

如何在android studio中用另一个片段替换一个片段

用片段替换某些东西

在活动中添加/替换后,片段的所有元素都为空