xargs가 정렬이 아닌 echo와 함께 작동하는 이유는 무엇입니까?

xargs가 정렬이 아닌 echo와 함께 작동하는 이유는 무엇입니까?

xargs 매뉴얼 페이지에 사용 예가 있습니다.

cut -d: -f1 < /etc/passwd | sort | xargs echo

이 경우 왜 echo는 xargs와 함께 사용되지만 sort는 xargs와 함께 사용되지 않습니다.

두 명령의 구문이 유사하더라도 매개변수가 명령 뒤에 오는 위치는 어디입니까?

답변1

|왼쪽의 출력을 오른쪽의 입력에 연결합니다.

echo해당 매개변수를 인쇄합니다. 입력으로 전송된 데이터에는 아무 작업도 수행하지 않습니다. 따라서 입력으로 xargs호출하는 데 사용됩니다 .echo

sort반면, 해당 매개변수는 정렬되지 않지만 입력 데이터는 정렬됩니다.

따라서 입력을 직접 정렬하는 것이 합리적입니다.

(실제로는 말이 안 됩니다 xargs echo. 이는 실제로 의 출력을 sort인수로 변환하고 다시 출력으로 변환하는 것뿐입니다. 의도가 무엇인지 잘 모르겠습니다. cut -d: -f1 < /etc/passwd | sort동일한 작업을 수행합니다. 음, 줄 바꿈이 있을 것입니다. 사용자별로, 그러나 솔직히 그것은 xargs의 작업이 아니라 사용자가 /etc/passwd에서 직접 원하는 작업을 수행하는 sedor의 작업 awk이지만 물론 명령줄을 사용해야 합니다.별로 관심이 없습니다. 민감도, xargs가 이런 방식으로 사용되는 이유에 대한 자세한 내용)

관련 정보