google ngram格式与此类似:
apollo_. 2008 6 5
apollonia_NOUN 1760 1 1
apollo.5 1760 1 1
apollo 2008 6 5
如果我只是想拉出包含单词'apollo'而没有后缀的行,那么正确的grep命令是什么?
答案 0 :(得分:0)
这应该可以解决问题:
perl -lne 'print if(/\bapollo(\s+|$)/)' your_file
答案 1 :(得分:0)
对于此数据集,您可以这样做:
$ grep '^apollo\s' file
apollo 2008 6 5
对于以grep
开头,后跟空格字符的行,apollo
为grep
。与此\b
匹配相关的选项包括:
-w, - word-regexp
仅选择包含构成整个单词的匹配项的行。测试是匹配的子字符串必须位于行的开头,或者前面是非单词构成字符。 同样,它必须位于行的末尾或后跟非单词构成字符。单词构成字符是字母,数字和下划线。
x, - line-regexp
仅选择与整行完全匹配的匹配项。 (-x由POSIX指定。)
你还有正则表达式选项,使用grep
来匹配单词边界,但-w
选项apollo.5
对.
行上的特定数据失败由于apollo
之后的标点符号{{1}}。