xargs '-I副作用を解決するには、「| xargs -n 1」が必要ですか?

xargs '-I副作用を解決するには、「| xargs -n 1」が必要ですか?

私はこれを見つけて驚きました:

$ echo 1 2 3 4 5 | xargs -n 1 echo
1
2
3
4
5

$ echo 1 2 3 4 5 | xargs -n 1 -I FOO echo FOO
1 2 3 4 5

つまり、この-Iフラグを使用すると、次のような副作用があります。

また、引用符のないスペースは項目を終了せず、代わりに区切り文字は改行文字です。

だから私が見る解決策は次のとおりです。

$ echo 1 2 3 4 5 | xargs -n 1 | xargs -n 1 -I FOO echo FOO
1
2
3
4
5

より良い解決策はありますか?

私の実際のコマンドラインは次のとおりです。

echo 102DRIFT 103DRIFT 104DRIFT 105DRIFT | xargs -n 1 | xargs -n 1 -I _DIR_ python process.py /SDcard/DCIM/_DIR_/ MyTrace.gpx 10

(該当する場合はUbuntu Trusty。)

ベストアンサー1

そしてGNU xargs-d、次のオプションを使用できます。

$ echo 1 2 3 4 5 | xargs -n 1 -d" " -I FOO echo FOO
1
2
3
4
5

おすすめ記事