【发布时间】:2017-03-31 22:17:11
【问题描述】:
我有一个文本文件f.txt,其编码为 UTF-8,如下所示:
chengs-MBP:test cheng$ cat f.txt
Wіnd
like
chengs-MBP:test cheng$ FILE -I f.txt
f.txt: text/plain; charset=utf-8
但是,这个文件中的这两个词Wind 和like 是不同的,因为like 可以通过grep 命令找到,而Wind 不能,这让我很困惑:
chengs-MBP:test cheng$ cat f.txt | grep like
like
chengs-MBP:test cheng$ cat f.txt | grep Wind
chengs-MBP:test cheng$
我想通过iconv命令将此文件转换为us-ascii,但我失败了:
chengs-MBP:test cheng$ iconv -f UTF-8 -t US-ASCII f.txt > new.txt
conv: f.txt:1:0: cannot convert
我的目标是将此文件转换为该文件中的所有单词都可以通过grep 或sed 找到的格式...仅此而已。
【问题讨论】:
-
确保这两种格式都在
iconv -l中列出 -
@Arash 我用
iconv -l测试过,UTF-8 和 US-ASCII 都在列表中。你能把这两个词复制到这里吗:Wіnd,like,看看你有没有同样的问题? -
这对我来说很好:
printf "Word\nlike\n" | iconv -f UTF-8 -t US-ASCII
标签: linux encoding sed utf-8 ascii