基本上我想知道是否有办法在单个grep命令中表示以下内容:
grep "a" words.txt | grep "e" | grep "o" | grep "i" | grep "u"
以任意顺序查找包含所有5个元音的所有单词。
我能想到的唯一方法是列出所有可能的组合,这真的非常麻烦。
答案 0 :(得分:0)
您可以像这样使用awk
来检查所有元音:
awk '/a/ && /e/ && /i/ && /o/ && /u/' words.txt
或者你可以使用grep -P
使用lookahead regex来简化它:
grep -P "(?=[^a]*a)(?=[^e]*e)(?=[^i]*i)(?=[^o]*o)(?=[^u]*u)" words.txt