如何在linux中仅awk选定列和输出

如何在linux中仅awk选定列和输出,awk,gnome-terminal,Awk,Gnome Terminal,我正在尝试将以下输出的列仅第一个和第三个列导入linux终端。我该怎么做 我的实际产出: akamai-1576314300-xhf78 0/1 Completed 0 5d4h

我正在尝试将以下输出的
第一个
第三个
列导入
linux
终端。我该怎么做

我的实际产出:

akamai-1576314300-xhf78                               0/1     Completed   0          5d4h                                                                                                                          
akamai-1576400700-6m84q                               0/1     Completed   0          4d4h                                                                                                                          
使用
awk后需要的输出

akamai-1576314300-xhf78                   Completed                                                                                                                          
akamai-1576400700-6m84q                   Completed                                                                                                                        

我正在使用
kubectl get pods | awk'{print$1 print$3}'


但它不起作用…

这就是你要找的:

 kubectl get pods | awk '{ if ($3 == "Completed") { print $1 " " $3 }}'
希望有帮助

编辑(创建值数组):


?是的,我如何将
awk
grep
一起使用,就像
kubectl get pods | grep Completed | awk'{print$1”“$3}'
?尽管您可以在使用awk本身打印之前测试第三列是否“已完成”。我会编辑我的answer@JananathBanuka:不需要grep。你可以通过
。|awk'/Completed/{print$1”“$3}'
更容易做到这一点。事实上:
awk'$3==“Completed”{print$1,$3}'
你们能给我一种方法将这些输出存储在
数组中吗?可能吗?
IFS=$'\n' read -d '' -a myResults <<< "$( kubectl get pods | awk NF | awk '{ if ($3 == "Completed") { print $1 " " $3 }}' )"
$ echo "${myResults[1]}" 
akamai-1576400700-6m84q Completed

 $ echo "${myResults[0]}" 
akamai-1576314300-xhf78 Completed