8
zgrep -i XXX XXX | grep -o "RID=[0-9|A-Z]*" |
   uniq | cut -d "=" -f2 |
   xargs -0 -I string echo "RequestID="string

私の出力は

RequestID=121212112
8127127128
8129129812

しかし、私の要件は、すべての出力の前にリクエスト ID をプレフィックスにすることです。どんな助けでも大歓迎です

4

2 に答える 2

17

私は同様の仕事をしていましたが、これは私にとってはうまくいきました。それはあなたが探しているものかもしれません:

zgrep -i XXX XXX | grep -o "RID=[0-9|A-Z]*" | uniq | cut -d "=" -f2 | xargs -I {} echo "RequestID="{}

于 2012-08-10T20:49:51.130 に答える
15

-nのオプションを試してくださいxargs

-n 最大引数

コマンド ラインごとに最大 max-args 個の引数を使用します。サイズ (-s オプションを参照) を超えた場合、max-args よりも少ない引数が使用されます。ただし、-x オプションが指定されている場合は xargs が終了します。

例:

$ echo -e '1\n2' | xargs echo 'str ='
str = 1 2

$ echo -e '1\n2' | xargs -n 1 echo 'str ='
str = 1
str = 2
于 2012-06-20T21:24:39.497 に答える