【问题标题】:Print a column from Unix file从 Unix 文件中打印一列
【发布时间】:2017-05-16 23:38:32
【问题描述】:

我有一个类似这样的 unix 文件

Name : abc
Name : def
Value : 123
Value_old : 456

我只想打印 abc,def,123,456。我正在使用 awk -F'' '{print $3}' file,但它返回的结果不正确。

【问题讨论】:

  • 将其更改为 awk -F: '{ print $2 }' 然后它应该可以工作。不过使用cut 效率更高
  • 我很好奇 - 你认为 -F'' 会做什么?为什么?

标签: unix awk


【解决方案1】:

你可以使用剪切:

cut -d':' -f2

【讨论】:

    【解决方案2】:
    awk -F'' '{print $3}'
    

    不会工作。

    • -F是分隔符,这里显然应该是:
    • $3 表示第 3 列,在您的输入中,只有两列

    所以应该是awk -F':' '{print $2}'

    有很多方法可以获取您的意见,例如另一个答案中的cut

    还有,grep:

    grep -o '[^:]*$'
    

    sed:

    sed 's/[^:]*://'
    

    【讨论】:

      【解决方案3】:
      awk '{print $3}' file  
      

      完成了工作。

      【讨论】:

        【解决方案4】:

        更改分隔符:

        awk -F": " '{print $2}' filename
        

        【讨论】:

          猜你喜欢
          • 2013-04-03
          • 1970-01-01
          • 1970-01-01
          • 2014-07-14
          • 2018-02-22
          • 2012-01-30
          • 2014-11-26
          • 2019-08-20
          • 1970-01-01
          相关资源
          最近更新 更多