質問: xargsで2つのパラメーターを同時に使用するにはどうすればよいですか? 動画を変換する必要がありますが、どこにあるかわからないので、findする必要があります。 xargs で ffmpeg に結果と出力ファイル名を与えるにはどうすればよいですか?このコマンドで2つのパラメーターを作成できることはすでにわかりました。find . -iname "*.mov" -printf "%p %f\n" xargsマニュアルに関連するものは見つかりません。私はこのようなものが欲しい:find . -iname "*.mov" -printf "%p %f\n" | xargs ffmpeg -i {param1} -f flv {param2} これどうやってするの?
回答: 期待した解決策が得られなかったので、自分の解決策を見つけました。 @danielの答えは良いですが、シェルスクリプトが必要です。ワンライナーは速く、私はそれが好きです:)また、スクリプトを書くよりもシンプルなソリューションです。1つの引数を使用して、basenameで処理し、sh -cを使用することができますfind . -iname "*.mov" -print0 | xargs -0 -i sh -c 'ffmpeg -i {} -f flv `basename {}`' -iは、xargsに{}を現在の引数で置き換えるように指示します。 内のコマンド出力は、標準出力(bash機能)に出力されるため、basename {}は、ベアファイル名として評価され、出力されます。 -0は、特殊ファイル名を適切に処理するためのものですが、-print0オプションを使用してパラメーターを渡す必要があります。