【问题标题】:filtering rows using awk使用 awk 过滤行
【发布时间】:2018-05-17 05:12:33
【问题描述】:

我目前有一个包含 4 列的文本文件,由制表符分隔,我想使用带有 awk 的第二列过滤文件。

awk '$2 ??? {print}' Input_file

输入文件 ABCD 123-456-789 BCDE CDEF ABCD 132678999 BCDE CDEF ABCD 333-456-789 BCDE CDEF ABCD 663 667 777 BCDE CDEF ABCD 183-868-888 BCDE CDEF ABCD 123 999 999 BCDE CDEF

预期输出 ABCD 183-868-888 BCDE CDEF ABCD 333-456-789 BCDE CDEF ABCD 123-456-789 BCDE CDEF

【问题讨论】:

    标签: bash awk


    【解决方案1】:

    如果你只想用-过滤第二列,试试awk -F"\t" '$2 ~/-/ {print}' Input_file

    【讨论】:

      【解决方案2】:

      你的问题不是很清楚。

      我想使用带有 awk 的第二列过滤文件。

      下面我使用 awk 根据字段/列值过滤行。 示例:我过滤了包含 123 的行。 同样,您可以使用它来过滤任何值。

      user@server> cat random
      ABCD 123-456-789 BCDE CDEF
      ABCD 132678999 BCDE CDEF
      ABCD 333-456-789 BCDE CDEF
      ABCD 663 667 777 BCDE CDEF
      ABCD 183-868-888 BCDE CDEF
      ABCD 123 999 999 BCDE CDEF
      user@server> cat random | awk '/123/'
      ABCD 123-456-789 BCDE CDEF
      ABCD 123 999 999 BCDE CDEF
      user@server>
      

      【讨论】:

        猜你喜欢
        • 2020-10-07
        • 2011-03-24
        • 1970-01-01
        • 2013-09-28
        • 2017-11-10
        • 1970-01-01
        • 2012-06-05
        • 1970-01-01
        • 2022-01-23
        相关资源
        最近更新 更多