Para fazer de uma só vez:
eval "$(yourscript | awk -v q=\' '
$1 ~ /^[[:digit:]]+(\.[[:digit:]]+)?[MGT]$/ {
print "SIZE=" $1
}
match($0, /[[:upper:]]{3}/) {
print "PROJECT="q substr($0, RSTART, RLENGTH) q
}')"
Observe que algumas implementações com awk , como nawk ou Solaris, mawk ou versões mais antigas de gawk , não suportam os operadores de intervalo de expressão regular {x,y} / {x} (no caso de mais antigos (e não antigas) versões de gawk , você pode executá-lo com POSIXLY_CORRECT=anything no ambiente para suportá-las embora), embora tenha sido padrão por mais de 25 anos agora. Com eles, você precisaria substituir [[:upper:]]{3} por [[:upper:]][[:upper:]][[:upper:]] .