awk
variáveis são usadas apenas para seus valores, como variáveis na maioria das linguagens - elas não são re-analisadas para expressões. Você pode fazer o que quiser com isso:
a='15986327,415532694,850257614,875121642,20140819'
echo $a | awk -F, -v OFS=, '{print $1, $2, $4}'
(definindo OFS
para que você obtenha vírgulas na saída). Se for necessário ter b
como variável, você poderá usar:
b='$1, $2, $4'
echo $a | awk -F, -v OFS=, "{print $b}"
, que substitui b
como parte da expressão awk
.
Tudo isso dito, você não precisa de awk
para isso. Este é realmente um trabalho para cut
:
echo "$a" | cut -d, -f1,2,4
Isso seleciona os campos 1, 2 e 4, usando ,
como um delimitador de campo, sem análise dupla complexa de código. É exatamente para isso que o cut
é feito.