내 목표는 수정된 파일 목록을 가져온 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
두 번째, 세 번째 실행과 같은 상황에서는 사용하지 마십시오. 이전 실행의 출력을 덮어쓰는 아카이브가 생성됩니다.