私はこれを見つけて驚きました:
$ 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