grep给出不正确的结果

时间:2015-02-20 02:02:25

标签: python regex grep

我有一个文本文件,其中包含行末有数字值的行。当我执行命令cat *.txt | grep 'MOS-LCNB:1.'时,我希望仅使用1.的值,但由于某种原因,它显示100.0

MOS-LCNB:1.23
MOS-LCNB:1.41
MOS-LCNB:1.83
MOS-LCNB:100.0
MOS-LCNB:1.19
MOS-LCNB:1.39
MOS-LCNB:100.0
MOS-LCNB:100.0

当我编写python脚本并执行re.search时会出现同样的问题。

2 个答案:

答案 0 :(得分:2)

grep(以及Python re.search)正在给出正确的结果。您需要了解正则表达式。

.表示“任何角色”。要匹配期间,请使用\.

cat *.txt | grep 'MOS-LCNB:1\.'

答案 1 :(得分:2)

那是因为.匹配除换行符之外的任何字符。

要匹配文字句点,您需要在其前面加上反斜杠。

grep 'MOS-LCNB:1\.'

Ideone Demo