grep 并将输出分成两列

grep 并将输出分成两列

我有以下输出,我对其进行了 grep 编辑

ltm pool www.cloud.com-Pool-80 
monitor http
ltm pool www.cloud.com-Pool-443
monitor https
ltm pool www.cloud.com-Pool-8080
monitor tcp

但希望输出如下所示。

ltm pool www.cloud.com-Pool-80 monitor http
ltm pool www.cloud.com-Pool-443  monitor https
ltm pool www.cloud.com-Pool-8080  monitor tcp

我已经仔细查看了 grep 和 egrep 的手册页,但似乎没有简单的方法可以做到这一点?想法将不胜感激。

答案1

您可以将输出通过管道传送grepawk后处理器

grep .... | awk '{ORS=NR % 2? " ": "\n"; print}'

根据正则表达式的复杂性,您也许可以将过滤和后处理合并到单个awk命令中

或者,paste提出了一个极好的解决方案唐·克里斯蒂

grep ... |  paste -d ' ' - -

相关内容