我需要格式化 luit 命令,以便我可以编写一个我试图修复其编码的文件。我现在拥有的是luit -encoding gbk cat santi.txt
,但我希望将输出写入文本文件中。
背景故事,我在重新格式化原来是汉字的文本文档时遇到问题。无论出于何种原因,使用 Notepad++ 等程序和编码网站都不起作用,并且我在尝试使用提供的每个 Linux 解决方案时收到了错误消息这里。我转向 luit 因为我已经按照描述使用它取得了一些成功这里。
无论如何,luit -encoding gbk cat santi.txt
成功地将汉字输出到我的终端中。然而,它的输出只有大约 200 行,而文件可能有 2,000 多行。
看看看起来像什么卢特手册,下面的两个选项似乎是最有前途的。
-ilog filename
Log into filename all the bytes received from the child.
-olog filename
Log into filename all the bytes sent to the terminal emulator.
PS 根据chardef
文件的原始编码大概是GB2312。
答案1
luit -c <infile >outfile
该-c
开关luit
就像一个从标准输入到标准输出的简单解释器,而无需包装子级(默认情况下是你的外壳)在 pty 中并处理其 I/O。
如果你也这样做:
luit -olog /dev/tty -c <infile >outfile
luit
将写入您的终端和输出文件。
基本上,开关将在写入时将-olog
所有写入其输出的副本记录到命名文件中- 因此它代表 的已处理输入,但会对所有 的预处理输入执行相同的操作。luit
luit
-ilog
luit