我有一个产生以下输出的命令:
{i} count {0} 167 real 0m1.370s user 0m0.008s sys 0m0.000s
我想将这个输出管道输出到将在第2行和第4行提取项目的内容,并将它们输出为一行,如下所示:
167 0m1.370s
我经常使用sed和awk来获取单个值,但是我可以使用这些流工具来处理多行输出吗?
答案 0 :(得分:4)
您可以使用输出管道输入此awk:
awk '/\{0\}/{p=$2} /real/{print p, $2; exit}'
答案 1 :(得分:1)
如果它始终是第二行和第四行的第二个元素,则可以输入以下内容:
awk 'NR==2 {p=$2} NR==4 {print p, $2; exit}'
答案 2 :(得分:1)
使用GNU awk进行多字符RS:
$ awk -vRS='^$' '{print $4, $6}' file
167 0m1.370s