`xargs`는 STDIN의 옵션을 어디에 추가합니까?

`xargs`는 STDIN의 옵션을 어디에 추가합니까?

옵션의 순서는 몇 가지 이유로 명령에 중요합니다. 예를 들어, 옵션의 순서가 다르면 에서 작업이 달라질 수 있습니다 ffmpeg. 그렇다면 xargs옵션을 어디에 추가합니까 stdin?

예를 들어:

$ echo 'output.avi' | xargs ffmpeg -i input.avi -r 24

다음과 정확히 동일합니다.

$ ffmpeg -i inpit.avi -r 24 output.avi

input.avi하지만 from 에서 로 echo파이프 하려는 경우 xargs ffmpeg -i -r 24 output.aviSTDIN의 문자열을 특정 위치로 어떻게 설정합니까?

답변1

무슨 뜻인지 잘 모르겠지만 xargs전달된 인수가 배치되는 위치를 제어하는 ​​방법을 묻는 경우 스위치를 사용하여 -I{}붙여넣은 입력에 사용하려는 매크로를 나타낼 수 있습니다 xargs. 원하는 곳 어디에서나 이 매크로를 사용하세요 xargs. 확장 기능 에 항목을 전달하세요.

노트:저는 매크로 표기법을 사용하여 {}매개변수를 확장하려는 위치에 매크로를 배치하기만 하면 됩니다.

$ echo hi | xargs -I{} echo {}
hi

$ echo hi | xargs -I{} echo {} {}
hi hi

$ echo hi | xargs -I{} echo {} {} bye
hi hi bye
xargs 매뉴얼 페이지에서
   -I replace-str
      Replace  occurrences of replace-str in the initial-arguments with 
      names read from standard input.  Also, unquoted blanks do not 
      terminate input items; instead the separator is the newline 
      character.  Implies -x and -L 1.

관련 정보