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 回答