Grep 查找与特定模式匹配的单词并忽略重音

Grep 查找与特定模式匹配的单词并忽略重音

这是一个我只能部分解决的家庭作业问题。

我想用来grep在列表中查找包含三个由 't 分隔的 'e' 的单词,并且还执行不区分重音的搜索。

我能用正则表达式得到的最接近的是:

grep 'e.*t.*e.*t.*e' mylist

我对此有两个问题:

  1. 我不明白如何使用这样的模式进行不区分重音的搜索。我最近才听说等价类运算符,但我不知道如何将它们包含在我的搜索语法中。
  2. 我通过此搜索获得的匹配模式不包括重复的“t”。

答案1

e如果您的正则表达式引擎支持它们,您基本上只需用其等价类替换字符即可[[=e=]]

前任。

$ grep -m 10 '[[=e=]].*t.*[[=e=]].*t.*[[=e=]]' /usr/share/dict/french
absentéiste
absentéistes
anesthésiste
anesthésistes
cafés-théâtres
café-théâtre
casse-tête
centimètre
centimètres
centripète

整理序列和等效字符

相关内容