在多个文本文件中查找与正则表达式匹配的单词

时间:2014-07-04 16:21:28

标签: regex text terminal command-line-arguments

所以,我是新手从命令行操作数据,也是regex的初学者。

我在多个子目录中有多个.txt文件。我想要做的是找到所有具有一定数量连续辅音的单词。

到目前为止我尝试的是这样的:

  find . | grep -orhn '[bdfghjklmnprstvxzþ]\{2\}' > ../words.txt

只打印出类似的内容:

  2:rt
  2:gr
  2:xl
  3:gr
  3:st
  3:kk

我想得到整个词,而不仅仅是两个连续的辅音(以及数字和冒号。我不知道它来自哪里,因为它不在原始数据中,但它真的无关紧要我正在努力)。

你有小费吗?

1 个答案:

答案 0 :(得分:0)

-n选项是文本中的行号。

我的建议是尝试匹配前后字符。

这是我尝试过的,似乎有效。

grep -orh  '\w\+[bdfghjklmnprstvxzþ]\{2\}\w\+' 

-o选项仅显示匹配的内容,即整个单词。 -r将以递归的方式呈现,这与此处不相关,因为find正在为您进行递归。