0

google ngram 格式与此类似:

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

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

4

2 回答 2

0

这应该可以解决问题:

perl -lne 'print if(/\bapollo(\s+|$)/)' your_file
于 2013-09-24T07:17:25.963 回答
0

对于此数据集,您可以执行以下操作:

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

这适用于以空格字符grep开头的行。apollo与这种匹配相关的选项grep是:

-w, --word-正则表达式

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

x, --line 正则表达式

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

您还可以使用正则表达式选项来匹配单词边界,\b但是由于.grep-wapollo.5.apollo

于 2013-09-24T08:43:48.697 回答