【问题标题】:using Linux command line to convert file character encoding使用Linux命令行转换文件字符编码
【发布时间】:2015-04-13 08:04:54
【问题描述】:

如何从 linux (Fedora 20) 命令行更改文件编码? 我有一个 7GB 的巨大 CSV 文件,我不想打开它。

【问题讨论】:

    标签: bash shell character-encoding command-line-interface


    【解决方案1】:
    1. 打开控制台窗口或终端...
    2. 找出当前编码

    file -bi /path/to/file.csv

    结果应该类似于

    "text/plain; charset=us-ascii"
    
    1. 现在进行转换:

    iconv -f inputEncoding -t outputEncoding /path/to/input/file.txt -o path/to/output/file.txt

    例如:

    iconv -f iso-8859-1 -t utf8 ~/Documents/bigger_not_filtered.csv -o /tmp/utf8_bigger_not_filtered.csv

    【讨论】:

    • 请注意,file 只能为您提供编码的最佳猜测。您应该知道根据某些规范或元数据对您的文件进行编码。如果不这样做并且需要字符集检测,则需要使用启发式或人工目测。
    • 您必须使用-o 参数设置输出文件。
    • 感谢@MarcelPfeiffer,我更新了答案。
    猜你喜欢
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 2013-12-27
    • 2014-01-03
    • 2018-04-19
    • 2015-03-30
    • 1970-01-01
    相关资源
    最近更新 更多