【问题标题】:How to awk only selected columns and output in linux如何在 linux 中仅 awk 选定的列和输出
【发布时间】:2019-12-19 13:41:44
【问题描述】:

我正在尝试将以下输出的 only firstthird 列输入到 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}'

但它没有醒来......

【问题讨论】:

标签: awk gnome-terminal


【解决方案1】:

这就是你要找的东西:

 kubectl get pods | awk '{ if ($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

【讨论】:

  • 是的,我如何使用awkgrep,是不是像kubectl get pods | grep Completed | awk '{print $1 " " $3}'
  • 尽管您可以在 awk 本身打印之前测试第三列是否“已完成”。生病编辑我的答案
  • @JananathBanuka :不需要 grep。您可以通过...| awk '/Completed/ {print $1 " " $3}' 更轻松地做到这一点
  • 其实:awk '$3=="Completed"{ print $1,$3 }'
  • 你们能给我提供一种将这些输出存储在array 中的方法吗?有可能吗?
猜你喜欢
  • 1970-01-01
  • 2020-06-30
  • 2015-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
  • 2022-08-02
相关资源
最近更新 更多