`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.

おすすめ記事