como formatar os detalhes em um arquivo de texto usando unix [duplicate]

0

Este é o arquivo de entrada com delimitador "vírgula".

$ cat dine_final.txt
FILENAME,FILESIZE,FILECOUNT
bur_m2_j12_re_yyyymmdd.dat,1235,1254
bur_m2_j13_re_yyyymmdd.dat,125,12546825
bur_m2_j14_re_yyyymmdd.dat,12565652425,125856
bur_m2_j35_re_yyyymmdd.dat,125,12
bur_m2_j40_re_yyyymmdd.dat,123542,1254
macys_unified_RE_prod_yyyymmdd.dat,12354,1254

Eu quero a saída com o formato bonito. todos os campos em "FILENAME" devem começar exatamente com o mesmo começo, "FILESIZE" deve começar com o mesmo campo, "FILECOUNT" deve começar com o mesmo campo.

FILENAME                                FILESIZE        FILECOUNT
bur_m2_j12_re_yyyymmdd.dat              1235            1254
bur_m2_j13_re_yyyymmdd.dat              125             12546825
bur_m2_j14_re_yyyymmdd.dat              12565652425     125856
bur_m2_j35_re_yyyymmdd.dat              125             12
bur_m2_j40_re_yyyymmdd.dat              123542          1254
macys_unified_RE_prod_yyyymmdd.dat      12354           1254
    
por user230703 10.05.2017 / 12:15

1 resposta

1

awk -F, '{printf "%-39s %-15s %-15s\n", $1, $2, $3}' input
  • Diga ao awk para usar vírgulas como delimitador de campo
  • imprima os campos resultantes com o formato especificado

Eu tentei ajustar as larguras de campo para corresponder à sua saída; ajuste-os como quiser. O - entre o % e o s diz para alinhar à esquerda o campo em vez de alinhar à direita.

    
por 10.05.2017 / 13:03