2009-06-10

cvsの情報をgrepする方法

cvs(Conncurrent Versions System)のコマンドは標準エラーに出力される。そのため通常のターミナル上では表示されているものを、そのままgrepをかけても、すべてに該当してしまい正規表現では絞り込めないです。

そこで、すべての出力を標準エラーも含めた状態でパイプを使いgrepに流し込む(2>&1のところ)ようにします。このようにすれば標準エラーに出力されているものもgrepすることが可能です。

updateした段階でのコンフリクトを割り出すには…
$ cvs update -d -P 2>&1 | grep "^[C]"
また
$ cvs update -d -P | less
のようにパイプでlessに流し込めば、リドローを書けた段階(Shift+gとか)で、余計な情報を削除できるので、こちらの方が便利です。