Comment définir la valeur par défaut d'une variable si celle-ci n'est pas définie ?
Comme dans bash :
x=1
echo ${x}
1
unset x
echo "${x:-I AM DEFAULT}"
Comment ce comportement peut-il être réalisé en awk :
Exemple :
-->echo "$x"
one two three four
foo bla2 bla3 bla4
bar bla7 bla8
Résultat souhaité :
echo "$x" |awk '..'
bla2 bla3 bla4 bla7 NA bla8
Sortie de courant :
echo "$x" |awk '/foo/{two=$2;three=$3;four=$4;next} /bar/{print two , three, four, $2,$3,$4} '
bla2 bla3 bla4 bla7 bla8
Ne peut pas faire comme : (acte stupide dû au désespoir) :
echo "$x" |awk '/foo/{two=$2;three=$3;four=$4;next} /bar/{print two , three, four, $2,${3:-NA},$4} '
OU
pour awk $3
est bla8, ce qui ne fonctionnera pas non plus.
echo "$x" |awk '/foo/{two=$2;three=$3;four=$4;next} /bar/{if(!length($3))print two , three, four, $2,$3,"NA",$4;print two , three, four, $2,$3,$4} '
bla2 bla3 bla4 bla7 bla8