Будет выведено значение NULL в случае, если VALUE1
или VALUE2
ни один из них не найден.
echo "VALUE3,VALUE1,VALUE4,VALUE9" | awk '
{
if(match($0,/VALUE[12],|VALUE[12]$/)){
val=substr($0,RSTART,RLENGTH)
sub(/,/,"",val)
print val
}
else{
print "NULL"
}
}'
ИЛИ для использования в переменной, например:
VAR=$(echo "VALUE3,VALUE1,VALUE4,VALUE9" | awk '{if(match($0,/VALUE[12],|VALUE[12]$/)){val=substr($0,RSTART,RLENGTH);sub(/,/,"",val);print val} else{print "NULL"}}')
echo "$VAR"
VALUE1
Пример получения NULL
в выводе, если ни VALUE1
, ни VALUE2
:
VAR=$(echo "VALUE3,VALUE12,VALUE4,VALUE9" | awk '{if(match($0,/VALUE[12],|VALUE[12]$/)){val=substr($0,RSTART,RLENGTH);sub(/,/,"",val);print val} else{print "NULL"}}')
echo "$VAR"
NULL