2010-06-07 50 views
2

我正在尋找一種'相對'簡單的方式來搜索CVS以在HEAD修訂版中查找特定的字符串。搜索CVS的頭

我意識到CVS存儲版本的方式使得這很困難。但我試圖想出一些腳本來允許這種搜索(這裏不期望性能)。

目前這個命令將輸出的頭的內容文件 CVS共同-r HEAD -p

標準輸出=文件的內容(將grepped用於搜索字符串) 標準錯誤=文件名/報頭信息(對錶示文件名的行進行grep)。

理想情況下,我想grep的內容,並顯示標題+搜索項目(這可能是針對某些文件的輸出)前後幾行。

我找到了一種方法來使用不同的值來grep stdout和stderr。顯示的stdout/stderr按正確順序排列。但是,任何嘗試將其重定向到文件都會擾亂訂單?

{ 
    { cvs co -r HEAD -p myModule 4>&- | grep 'myString' 2>&4 4>&- 
    } 4>&2 2>&1 >&3 3>&- | grep 'Check' >&2 3>&- 
} 3>&1 

問題1.是否有更簡單的方法可以一起完成這一切?

問題2.如果不是,我如何獲得上述代碼的輸出以與控制檯上顯示的順序相同的順序追加到文件中?

回答

0

這裏有一些建議:

  • 您可以使用「腳本」命令,在正確的順序來記錄你的會話。 (請參閱:'man script')
  • 對於grep,如果要插入上下文,可以使用-A,-B,-C選項。 (參見: '人的grep',尋求 '語境線控制'

好運