xargsの-Iパラメータは何をしますか?

xargsの-Iパラメータは何をしますか?

私はbashスクリプトを書いており、-I答えでこの主張を見つけました。ここそしてここしかし、私はそれが何をしているのか理解していません。これ手動私もよく分からない。

2番目の答えはまた、私が理解していない次のテキストを指摘しています。

find /thisdir -type f -name "*.ogg" -print0 | xargs -0 -Imysongs mv -i mysongs /somedir 

-I上記のコマンドでxargs使用する代替文字列を指定します(そうでない場合は、コマンドの最後に引数を追加します)。

答え1

はい、それはバイパスの説明ですが、最終的には非常に簡単です。 -Iパターンを定義します。パターンは、残りのコマンドラインを検索して標準入力の入力に置き換えます。

例では、以下を示しました。

xargs -0 -Imysongs mv -i mysongs /somedir 

-Iコマンドラインの残りの部分で検索される「mysongs」パターンを定義します。

あなたの例では、find.oggファイルのリストが生成されます。ファイルがすぐに届く予定ですxarg。したがって、見つかったファイル名ごとにfindコマンドxargが生成され、実行されます。

mv -i <filename> /somedir

関連情報