我有一个文本文件,其中包含行尾有数值的行。当我执行命令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时也会出现同样的问题。
发布于 2015-02-20 02:05:26
这是因为.匹配除换行以外的任何字符。
要匹配一个文本句点,需要在它前面加上一个反斜杠。
grep 'MOS-LCNB:1\.'Ideone Demo
发布于 2015-02-20 02:05:12
grep (和Python re.search)给出了正确的结果。不过,您需要理解正则表达式。
.的意思是“任何字符”。若要匹配句点,请使用\.
cat *.txt | grep 'MOS-LCNB:1\.'https://stackoverflow.com/questions/28620513
复制相似问题