【问题标题】:if [result of print substr($0,a,b)] then print $0如果 [打印结果 substr($0,a,b)] 然后打印 $0
【发布时间】:2013-07-10 07:50:01
【问题描述】:

我想做这样的事情(我认为最好的选择是使用awk编码)

如果 a 和 b 之间位置的数字符合条件,那么我想打印所有 行。

我正在尝试编写类似这样的代码

awk '{if(substr($0,a,b) print $0}'

但不起作用。

【问题讨论】:

    标签: if-statement awk substr


    【解决方案1】:

    我想这就是你想要的:

    # regexp condition
    $ awk 'substr($0,a,b)~/condition/'
    
    # string condition
    $ awk 'substr($0,a,b)=="condition"'
    
    # numeric condition
    $ awk 'substr($0,a,b)>24'
    

    如果子字符串与条件匹配,则打印整行。 awk 中的默认块是 {print $0},因此可以省略。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-25
      • 2020-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多