Com um campo em branco:
1 3
Você pode fazer:
if [[ -z c ]]
then
c=b
b=
fi
Se seus dados forem delimitados por vírgula, você também poderá fazer:
while IFS=, read a b c
(mas você terá problemas se os campos contiverem vírgulas, como na sua versão atual, se contiverem aspas):
1,,3
Além disso, na sua versão, em vez de usar tr
, você pode fazer:
b=${b//\"\"}
mas você pode eliminar essa etapa usando o seguinte com seu formato de dados atual:
while IFS='"' read a b c
no entanto, os campos delimitados por vírgulas são um formato mais comum.