Uma opção é passar a variável do shell para awk
, o que evita a recitação:
awk 'NR>13 {if ($4==dmn) print $1, $2, $3, $4;}' dmn="${DMN[$i]}" domain_all.dat >> ddh_domain_${DMN[$i]}.dat
Eu estaria inclinado a refatorar seu script de shell também, para que a variável fosse passada para a função do shell:
declare -a DMN=(" " "200" "190" "180")
NRL=3
runDHFiles()
{
local dmn="$1"
awk 'NR>13 && $4==dmn {print $1, $2, $3, $4;}' dmn="$dmn" domain_all.dat >> "ddh_domain_${dmn}.dat"
}
for ((i=1; i<=NRL; i++ ))
do
runDHFiles "${DMN[$i]}"
done