2013-08-21 81 views
2

我想看看有什麼文件都在我的CVS倉庫本地修改。我想這管道CVS更新到grep看到修改的文件列表

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

其從CVS stderr流幾乎可以肯定是隻輸出匹配的行。嘗試

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

就個人而言,我不喜歡扔掉的錯誤消息,我會捕捉信息,以文件

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

我不能測試,但非常有信心,這將解決您的問題。 IHD。

IHTH。

+0

謝謝shellter。就是這樣! – DigitalEye