经过一番搜索,我找到了一个grep
命令,可以查找包含大写字母的单词,并列出它们而不重复:
grep -hoP "\w*[[:upper:]]+\w*" * | sort -u
然而,当涉及到包含诸如 之类的字符的单词时ê
,grep 似乎只返回该字符之前的单词,而忽略该字符以及之后的任何内容。我的文本被编码为UTF-8
,我猜问题出在我的搜索条件中。
对于几乎一无所知的人来说,是否有一个简单的解决方案grep
?
答案1
您可以使用grep
with-P
来启用 Perl 正则表达式功能,然后将您的 Unicode 字符范围指定为一类字符,如下例所示(在下面的字符类中查找要替换的语言 Unicode)。
grep -oP '\w*[\x00-\x99]+\w*' infile