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