【发布时间】:2018-04-05 20:43:28
【问题描述】:
我有扩展名为 .m 和 .slx 的文件。我想使用 grep 从 svn 日志中检查修改过的 m 文件:使用
svn status | grep "M " | grep ".m"
我明白了
M foo.m
M model1.slx.
我希望只看到 foo.m。但为什么我也看到了 model1.slx?它应该被第二个 grep 过滤掉。
【问题讨论】:
-
grep使用正则表达式。.m表示“任何字符 (.) 后跟m”。第二行符合这个描述;它在model1.slx 之前包含一个空格(或制表符)。您必须将.m锚定到行尾:\.m$。使用man -s 7 regex了解正则表达式。