首页 > 解决方案 > 用 awk 打印多列,但用分号连接

问题描述

我正在使用 awk 过滤上一个命令(docker image ls)返回的输出,该命令是制表符分隔的列。

我想用 : 打印前 2 列。

我试过的:

docker image ls | awk '{ print $1\:$2}'

但无论我如何尝试打印 $1 和 $2 我仍然得到

awk: syntax error at source line 1
 context is
    { print $1 >>>  \ <<< \ $2}
awk: illegal statement at source line 1

如何在输出中使用 :?

谢谢!

标签: awk

解决方案


OFS变量设置为所需的分隔符:

docker image ls | awk -v OFS=":" '{print $1, $2}'

推荐阅读