Due to some reasons, the option order is important to the command. For example, different options order may cause different actions in ffmpeg, so where does xargs add the option from stdin?For example:$ echo 'output.avi' | xargs ffmpeg -i input.avi -r 24is totally equivalent to:$ ffmpeg -i inpit.avi -r 24 output.avibut if I want to send input.avi from echo to xargs ffmpeg -i -r 24 output.avi by pipe, how do I set the string from STDIN to a specified position?
Where does `xargs` add the option from STDIN?
xargs
I'm not entirely sure I follow you but if you're asking how you can control where xargs places the arguments when passed to it, you can use the switch -I{} to denote what macro you want to use for input that's pasted to xargs and then make use of this macro where ever you want to have the things passed to xargs expanded.NOTE: I'm using the notation {} for my macro I then simply put that macro where ever I want the arguments expanded.Example$ echo hi | xargs -I{} echo {}hi$ echo hi | xargs -I{} echo {} {}hi hi$ echo hi | xargs -I{} echo {} {} byehi hi byeexcerpt from xargs man page   -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.