【发布时间】:2016-08-30 06:15:52
【问题描述】:
我有一个包含此字符串的文件:"Ávila"
我想得到这个输出:"ávila"。
问题是awk的tolower函数只有在字符串不以重音开头的情况下才有效,我必须使用awk。
例如,如果我执行 awk 'BEGIN { print tolower("Ávila") }' 那么我会得到 "Ávila" 而不是 "ávila" ,这正是我所期望的。
但是如果我这样做 awk 'BEGIN { print tolower("Castellón") }' 那么我会得到 "castellón"
【问题讨论】:
-
使用 gnu awk 4.0.1 我从
tolower("Ávila")得到“ávila”。 -
顺便说一句:问题与字符串中外来字符的 位置 无关(在您的第二个命令中,外来字母恰好已经是小写了),但是在某些
awk实现中根本无法将非 ASCII 字母识别为字母。
标签: awk character-encoding diacritics