
私の目的は、 で変更されたファイルのリストを取得しgit
、rspec
各ファイルを引数として渡してコマンドを実行することです。
現在、私は以下を所有しています:
$ git status -s | awk '{if ($1 == "M") print $2}' | tr "\\n" "\\0" | \
xargs -0 -I % rspec -f documentation %
これは技術的には機能しますが、rspec
変更されたファイルごとに実行されます。実行したいのは、次のとおりです。
$ rspec path/to/file/1 path/to/file/2 ...
これを実現する方法を知っている人はいますか?
答え1
... | xargs -0 rspec -f documentation
rspec
コマンドラインが長すぎる場合は、これを複数回呼び出すことができることに注意してください。rspec
これを 1 回呼び出す理由はパフォーマンスのためなので、これは問題にはなりませんが、2 回目、3 回目、… の実行でアーカイブが作成さ れ、以前の実行の出力が上書きされるような場合には使用しないでくださいxargs -0 tar cf archive.tar
。