xargs 출력 후 명령줄 스위치 제공

xargs 출력 후 명령줄 스위치 제공

내가 이 명령을 사용한다고 가정하면:

outputStuff.sh | awk -F"-" '{print $5"-"$6}' | xargs someTool (XARGS OUTPUT HERE) --someCommandLineSwitchHere

하지만 xargs 출력 후에 명령줄 스위치를 제공해야 합니까? 이 문제를 해결한 사람이 있나요?

답변1

따라서 이 플래그가 사용되지만 someTool입력 파일 뒤에 와야 합니다... 서브셸을 사용하면 모든 종류의 유연성이 제공됩니다.

xargs sh -c 'someTool "$@" --someCommandLineSwitchHere' someTool

처리 후에 xargs는 실제로 이렇게 됩니다.

xargs sh -c 'someTool "$@" --someCommandLineSwitchHere' someTool item1 item2 ... itemN

...작은따옴표로 묶인 문자열 뒤의 명령줄에 있는 모든 내용은 sh(위치 인수)에 대한 입력 인수가 됩니다. 이는 일반적으로 방금 사용한 실행 명령이기 $0때문에 시작됩니다 (여기에서는 무엇이든 허용되지만). 그 밖의 모든 것은 및 일반 위치 인수( 등 ) 로 구성됩니다.$0someToolxargs$1$2

관련 정보