gitで出力をgrepする方法は?

gitで出力をgrepする方法は?

gitで作成したフォルダ名を抽出しようとしています。出力には以下が表示されます。

...
Cloning into 'repository-name'...
...

表示された行を抽出するためにこの出力をgrepにパイプしたいと思いますCloning into 'repository-name'。しかし、実行するとgit clone https://github.com/username/repository-name.git | grep "Cloning into"grepを強調表示せずに完全なgit出力メッセージが表示されるため、gitはgrepをバイパスして出力を画面に直接印刷するようです。 --no-pagerフラグをgitに送信することは役に立ちません。

ベストアンサー1

git-cloneマニュアルページから:

--progress
端末に接続すると、--quietが指定されていない限り、デフォルトでは標準エラーストリームに進行状況が報告されます。このフラグは、標準エラーストリームが端末に渡されない場合でも進行状況を強制します。

だから私たちはしなければなりません。標準記述子のリダイレクト標準エラーストリームからgit-cloneの出力へ。

これもできます。

git clone https://github.com/username/repository-name.git --progress 2>&1 | grep "Cloning into"

おすすめ記事