从文件中删除所有非utf-8字符,但终端无输出

问题描述 投票:2回答:3

我是新的Ubuntu用户,处理的是非常大的文件,其中包含一些非utf8字符,可以安全地跳过这些字符。我发现了另一个堆栈溢出问题How to remove non UTF-8 characters from text file,该问题提供了一种使用命令

删除这些字符的方法
iconv -f utf-8 -t utf-8 -c file.txt

但是,无论文件大小如何,这都会输出每一行,这会花费太多时间。我对Ubuntu命令不太熟悉,因此如果有人可以指导我修改该命令以禁止输出,我将不胜感激

ubuntu utf-8 output
3个回答
4
投票

使用shell重定向将转换输出到新文件:

iconv -f utf-8 -t utf-8 -c file.txt > new-file.txt

然后检查新文件的结尾:

tail new-file.txt

检查顶部:

head new-file.txt

2
投票

您可以将输出重定向到新文件,而不是在终端上打印每一行:

iconv -f utf-8 -t utf-8 -c file.txt > output.txt

0
投票

我在Sun Solaris中运行了iconv并收到此错误:

/ home2 / mercury / GOODDATA> iconv -f utf-8 -t utf-8 猫tmp汞| 0597178047 | T3748400▒|操作系统|| 98 |样品/测试仪| 093 |测试仪| 000 | N / A | 000 | N / A | 000 | N / A | 001 | WEB | 000 | N / A | 000000 | N / A | 857 | YSL BEAUTE INC。| TOECHE ECL GLOW WM HNY TSTR | TECL GL W HNY T | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00

请提供帮助和建议。

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.