Как использовать awk для сопоставления с несколькими шаблонами переменных? - PullRequest
0 голосов
/ 07 января 2019

Я хочу использовать awk для сопоставления нескольких переменных шаблонов. Вот что у меня есть:

match=`awk -v "$var1\|$var2\|$var3" 'BEGIN{FS=":"; OFS="-"}
$2 ~ {print}' $file`

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 07 января 2019

Вам необходимо отдельно передать 3 переменные с использованием синтаксиса awk -v var1=val1, а затем использовать чередование внутри регулярного выражения awk, как показано ниже:

match=$(awk -v v1="$var1" -v v2="$var2" -v v3="$var3" 'BEGIN{FS=":"; OFS="-"}
$2 ~ v1 "|" v2 "|" v3' "$file")
...