if [print substr($ 0,a,b)的结果]然后打印$ 0

时间:2013-07-10 07:50:01

标签: if-statement awk substr

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

如果a和b之间的位置匹配条件,那么我想打印所有的 行。

我试图写一个像这样的代码

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

但不起作用。

1 个答案:

答案 0 :(得分: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},因此可以省略。