
我的目標是獲取已修改的文件列表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
因為呼叫它一次的原因是效能,但不要將它用於諸如xargs -0 tar cf archive.tar
任何第二次、第三次…運行都會創建一個存檔覆蓋先前運行的輸出之類的情況。