管道cvs更新为grep以查看已修改文件的列表

时间:2013-08-21 18:36:37

标签: unix grep command-line-interface cvs

我正在尝试查看在我的cvs存储库中本地修改了哪些文件。我试过这个

cvs update -qn | grep "^M "

它实现了我所期望的,因为它显示了一堆

M sources/..../a.cpp
M sources/.../b.cpp

但输出中还包含一堆

cvs update: source/.../somefile.h is no longer in the repository

为什么上面这行会使它成为grep输出。我假设“^ M”会强制grep仅匹配以“M”开头的行

1 个答案:

答案 0 :(得分:1)

几乎可以肯定从cvs的stderr流输出。尝试

 cvs update -qn 2>&1 | grep "^M "

就个人而言,我讨厌丢弃错误消息,我会将该信息捕获到文件

 cvs update -qn 2>./filesMissingRpt.txt | grep "^M "

我无法测试它,但非常有信心这将解决您的问题。

IHTH。