私がこのコマンドを使用すると仮定すると:
outputStuff.sh | awk -F"-" '{print $5"-"$6}' | xargs someTool (XARGS OUTPUT HERE) --someCommandLineSwitchHere
しかし、xargs出力の後にコマンドラインスイッチを提供する必要がありますか?この問題を解決した人はいますか?
答え1
したがって、このフラグは使用されますが、someTool
入力ファイルの後に来る必要があります...サブシェルを使用すると、あらゆる種類の柔軟性が得られます。
xargs sh -c 'someTool "$@" --someCommandLineSwitchHere' someTool
処理後xargs
は実際にこうなります。
xargs sh -c 'someTool "$@" --someCommandLineSwitchHere' someTool item1 item2 ... itemN
...一重引用符で囲まれた文字列の後のコマンドラインのすべての内容は、sh
(位置引数)への入力引数になります。これは通常、使用したばかりの実行コマンドである$0
ために開始されます(ここでは何でも許可されますが)。他のすべては、通常の位置引数(など)で構成されています。$0
someTool
xargs
$1
$2