grep 还返回不匹配的行

grep 还返回不匹配的行

我正在尝试grep输出strings并且仅查找以一定数量的=字符开头的行。我试过strings data.txt | grep ^=*

示例输出:

1~{,
 WX2
};K,<
========== truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk
Nqp@
w"#/6>
QE++
6?M 
V9p>
Y22f
'WT$
v?4s
xp,b
ai2v>/

在我的终端中,一长串字符=以红色突出显示,因此grep已成功匹配它,但我也得到了所有其他字符。我检查过man grep,默认情况下grep应该只打印匹配的行,这确实是我通常观察到的,但在这种情况下绝对不是这样。

答案1

^=*表示搜索以零个或多个等号开头的行。

如果你想要以 = 开头的行,只需使用^=

相关内容