如何在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