Você pode fazer isso conforme mostrado:
grepFile | column -t -s $'\t' -o $'\t'
Contanto que a função grepFile tenha sido modificada de acordo com minhas sugestões, conforme determinado.
Crie mais uma função definida pelo usuário, por exemplo, "alignCols" e passe a saída da função "grepFile" para ela.
Além disso, modifique um pouco a função "grepFile" na instrução printf
:
function grepFile
{
#*************** ADD THIS ********
t=$'\t'; # TAB char
#*********************************
printf "ISA\t\tGS\tTrans\tSender ID\tReceiver ID\tINV PO Number\tASN PO Number\n"
#*************** MODIFY THIS ********
fmt="%s\t%s\t%s\t%s\t%s\t%s\t%s\n"
#*********************************
while read -r LINE
do
# ... keep the other statements just like before #
# ************** MODIFY printf ****************
printf "$fmt" \
"${isa:-$t}" \
"${gs:-$t}" \
"${trans:-$t}" \
"${sender:-$t}" \
"${receiver:-$t}" \
"${bigponumber:-$t}" \
"${asnponumber:-$t}";
# *********************************************
done < /path/to/Files.txt
rm /path/to/Files.txt
}
function alignCols
{
sed -e '
1i\
.TS\
tab('$'\t'');\
l l l l l l l.
$a\
.TE
' - | tbl - | nroff -Tascii -ms | grep .
}
# And then...
grepFile | alignCols
Resultados
ISA GS Trans Sender ID Receiver ID INV PO Number ASN PO Number
100000107 1107 1 2035735845 AMAZON 2IJW4EUG
100000018 1018 1 00116520M 5032337598 0082313829
100000096 1096 7 001165208 6111470100 0026-7684347-0551
0026-7684347-0557
0026-7684347-0580
0026-7684347-0587
0026-7684347-0589
0026-7684347-3803
0026-7684347-3804
100000580 1580 6 2035735845 TGTDVS 1310548379
1310570020
1310590953
1310596065
1310598477