grep检索google ngram条目的正确语法是什么?

时间:2013-09-24 07:15:45

标签: grep

google ngram格式与此类似:

apollo_.        2008    6   5
apollonia_NOUN  1760    1   1
apollo.5        1760    1   1
apollo          2008    6   5

如果我只是想拉出包含单词'apollo'而没有后缀的行,那么正确的grep命令是什么?

2 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

perl -lne 'print if(/\bapollo(\s+|$)/)' your_file

答案 1 :(得分:0)

对于此数据集,您可以这样做:

$ grep '^apollo\s' file
apollo          2008    6   5

对于以grep开头,后跟空格字符的行,apollogrep。与此\b匹配相关的选项包括:

  

-w, - word-regexp

     

仅选择包含构成整个单词的匹配项的行。测试是匹配的子字符串必须位于行的开头,或者前面是非单词构成字符。                 同样,它必须位于行的末尾或后跟非单词构成字符。单词构成字符是字母,数字和下划线。

     

x, - line-regexp

     

仅选择与整行完全匹配的匹配项。 (-x由POSIX指定。)

你还有正则表达式选项,使用grep来匹配单词边界,但-w选项apollo.5.行上的特定数据失败由于apollo之后的标点符号{{1}}。