如何grep所有超过6个字符且没有任何元音字母的单词?

时间:2017-04-11 05:36:51

标签: regex grep

我发现这可以指定一定的长度  grep -o -w'\ w {6,10}'数据

但我想找到包含6个或6个以上字母且没有任何元音字母的所有单词。

2 个答案:

答案 0 :(得分:2)

grep 查找除 元音 以外的所有包含6个或更多字母的单词(字母数字序列)的方法:

数据文件内容:

grep -Eio '\b[b-df-hj-np-tv-z0-9_]{6,}\b' data
CNN_tvs
swwwdfrgcc

输出:

\b

b-df-hj-np-tv-z - 指向单词边界

perl -nle 'print for /\b[b-df-hj-np-tv-z0-9_]{6,}\b/gi' data - 辅音字母的范围

替代 perl 方法:

INSERT INTO some_table(name) SELECT (?) FROM mutex LEFT OUTER JOIN some_table ON some_table.name = ? WHERE mutex.i = 1 AND some_table.name is null

答案 1 :(得分:-1)

您可以将所有要求合并到一个正则表达式中。

  

^(?I)[^ aeiouy] {6,10} $

     

说明:^表示开头意味着不可能   模式前的任何事情。字符串以模式开头。   (?i)表示不区分大小写。 [^ aeiouy]是没有的字符串   包含元音(不是^){6,10}是{minlenght,maxlenght)$表示   比赛结束后无法做任何事情

在你的grep中使用它。