我正在构建一个单词列表,并希望使用
从文件中删除变音符。sed -i -E '/[^a-zA-ZäöüÄÖÜß]/d' wordlist.txt
然而,这并没有消除例如André
,我不明白为什么。grep
也不输出这一行。我错过了什么?
您根本忽略的是,这取决于您的语言环境和Unicode规范化,其次取决于您的sed
是否支持这两种功能。
要可靠地过滤包含除列表中的变音符符以外的其他字符的行,可能需要切换到可移植且可靠地支持所有这些Unicode概念的工具。
perl -CSD -nle 'print unless /[^a-zA-ZöüÄÖÜß]/' wordlist.txt
有点矛盾的是,Perl几乎肯定会被安装,而您的系统安装的sed
可能支持也可能不支持这些工具。