Linux

grep 也返回不匹配的行

  • July 31, 2015

我正在嘗試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應該只列印匹配的行,這確實是我通常觀察到的,但在這種情況下絕對不是這樣。

^=*表示搜尋以零個或多個等號開頭的行。

如果您想要以 = 開頭的行,請使用^=

引用自:https://unix.stackexchange.com/questions/219358