xargsを介して複数のパラメータを渡す

xargsを介して複数のパラメータを渡す

xargsコマンドのさまざまな部分で複数のパラメータを実行できるようにしたいです。

たとえば、次のようになります。

echo {1..8} | xargs -n2 | xargs -I v1 -I v2 echo the number v1 comes before v2

また戻ってほしい

the number 1 comes before 2
the number 3 comes before 4 

...など

これは可能ですか?私のマルチユースは-I間違っているようです。

ベストアンサー1

私はあなたがこのようにすることはできないと思います-I。ただし、次のように言うと、目的の効果/動作が得られます。

echo {1..8} | xargs -n2 sh -c 'echo "the number $1 comes before $2"' sh

これは本質的にアドホック入力から解析された2つの値を介してxargs「スクリプト」に渡されるシェルスクリプトの行sh -cxargsその後、シェルはこれらの値を割り当て、$1$2スクリプト」でそれを参照できます。

おすすめ記事