如何从包含特定数字的行中 grep 一个字符串?

如何从包含特定数字的行中 grep 一个字符串?

我有一个很长的文件,其中的行包含多列数字——除了一行之外,每行都有超过 3 列。这是一个非常大的文件,我试图找到13只有数字的行。由于这是一个大文件,当我 grep 时13,我得到很多行,13其中的数字中有一些。我如何使用grep,以便只返回包含数字13的行?wc=1

答案1

grep(1)有一个选项可以仅搜索与指定正则表达式匹配的整行:

 -x, --line-regexp
         Only input lines selected against an entire fixed string or
         regular expression are considered to be matching lines.

假设您要匹配的行不包含空格,则命令:

grep -x 13

将提供您所寻求的输出。

另一方面,如果您要匹配的行确实包含前导和/或尾随空格,那么您需要一个更复杂的模式:

grep -x '[[:blank:]]*13[[:blank:]]*'

相关内容