-I가 설정된 경우 xargs가 구분 기호를 다르게 처리하는 것처럼 보이는 이유는 무엇입니까?

-I가 설정된 경우 xargs가 구분 기호를 다르게 처리하는 것처럼 보이는 이유는 무엇입니까?

xargs -n1 -I '{}' echo '{}' <<< "foo bar baz"인쇄 foo bar baz

동시에 xargs -n1 echo <<< "foo bar baz"인쇄

foo
bar
baz

이 동작의 원인은 무엇입니까?

답변1

지정하다-I 구분 기호 변경:

-나 문자열 복사

표준 입력의 인수는 <공백> 문자가 아닌 이스케이프 처리되지 않은 <newline> 문자로만 구분할 수 있습니다.

foo두 번째 예에서는 , bar및 사이의 공백이 baz입력을 분할하지만 첫 번째 예에서는 입력이 단일 라인이므로 단일 단위로 처리됩니다.

관련 정보