uniq,如何对口音不敏感?

uniq, how to be accent insensitive?

如何使 shell "uniq" 命令重音不敏感?

# more test
a
à
b


# LC_ALL=fr_FR.UTF-8  uniq test
a
à
b

预计:

# LC_ALL=fr_FR.UTF-8  uniq test
a
b

注意:以下是不正确的,因为它会更改输入数据:

 cat test | sed "s/à/a/" | uniq

这适用于您的简单示例:

$ cat letters.txt
a
à
b
$ paste <(iconv -f utf8 -t ascii//translit letters.txt) letters.txt | sort -s -k1,1 -u | cut -f2
a
b

需要 GNU 版本 iconv 支持音译输出编码,shell 如 bashzsh 支持 <(command)重定向。