bash检查带有正则表达式的元音

时间:2015-03-23 01:14:35

标签: regex bash grep

如何使用正则表达式检查文本文件中每个单词的第一个字母是否没有元音(aeiou)。我试过这个

grep [!^"aeiou"] file.txt

它有点工作,但它突出了元音,而不是第一个不是元音的字母。

2 个答案:

答案 0 :(得分:2)

您可以使用基于lookbehind的正则表达式突出显示每个单词中不能是元音的第一个字母。

grep -Pi '(?<!\S)[^aeiou]' file

答案 1 :(得分:0)

这是一个awk,如果它不是元音,则会在机智颜色为红色的第一个字母上标记。

awk '{for (i=1;i<=NF;i++) {s=substr($i,1,1);if (tolower(s)~/[^aeiou]/) $i="\033[1;31m"s"\033[0m"substr($i,2)}}1' file