awk: поиск шаблона сохранен в массиве

Я использую awk проанализировать файл. Сохранили слова шаблона в awk массив. Хотел бы сделать что-то вроде этого.

if ( $0 ~ / arr[1] / ){
blah
}

Я хочу проверить, найден ли шаблон, сохраненный в элементе массива, в текущей строке, которая анализируется.

1
задан 19 November 2016 в 00:05

1 ответ

Просто используйте массив, получающий доступ впоследствии, никакую потребность в // как затем arr[1] будет взят в качестве шаблона Regex, сделает:

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
0
ответ дан 8 December 2019 в 07:45

Другие вопросы по тегам:

Похожие вопросы: