을 실행하고 xargs -n2
입력 x x x x x
하고 클릭 하면 Enter4배의 결과만 얻습니다.
$ xargs -n2
x x x x x
x x
x x
x x x x x
그러나 이것을 동일한 명령에 파이프하면 동일한 수의 x가 표시됩니다.
$ echo x x x x x | xargs -n2
x x
x x
x
첫 번째 경우 인수 수가 반올림되거나 내림되는 이유는 무엇입니까?
답변1
첫 번째 줄에서는 xargs
여전히 두 번째 인수 또는 입력이 끝나기를 기다리고 있습니다. Ctrl-xargs를 눌러 D나머지를 계속 진행하면 다섯 번째 인수가 x
단일 인수로 표시됩니다.
이 예에서는 이러한 동작을 설명할 수 있습니다.
(echo "x x x x x"; sleep 5; echo "x") | xargs -n2
산출:
x x
x x
x x # after 5 seconds
x
두 번째 문의 6번째 항목 이후에 echo
입력 스트림이 완료되고 xargs
마지막으로 두 번째 매개변수를 갖게 되지만 그 전에는 5초 동안 기다립니다.