我用awk
它来解析文件。已将模式词存储在awk
数组中。想做类似的事情。
if ( $0 ~ / arr[1] / ){
blah
}
我想检查存储在数组元素中的模式是否存在于正在解析的当前行中。
答案1
之后只需使用数组访问,不需要,因为//
将arr[1]
被视为正则表达式模式,请执行以下操作:
if ( $0 ~ arr[1] ){ blah }
例子:
% awk 'BEGIN{a[1]="foo"} {if ($0 ~ /a[1]/) print "Matched"}' <<<'foobar'
% awk 'BEGIN{a[1]="foo"} {if ($0 ~ a[1]) print "Matched"}' <<<'foobar'
Matched