Como projetar a tabela no awk?

1

Meu arquivo de entrada é file1

count  month

505  Apr-2010 
252  Mar-2010 
426  Feb-2010 
201  Jan-2010 
211  Dec-2009 

Mesmo arquivo eu quero a saída como esta abaixo

+-------+----------+
| count | month    |
+-------+----------+
|   505 | Apr-2010 |
|   252 | Mar-2010 |
|   426 | Feb-2010 |
|   201 | Jan-2010 |
|   211 | Dec-2009 |
+-------+----------+
    
por ganik 21.07.2013 / 14:23

1 resposta

1

Isso funcionará para sua opinião:

BEGIN {
     n=0
     sep="+-------+----------+"
}
{
    if (/^$/) {
        print sep
    } else if (n==0) {
        print sep
        print "| "$1" | "$2"    |"
    } else {
        print "|   "$1" | "$2" |"
    }
    n++
}
END {
    print sep
}

Ele não faz nenhum alinhamento automático, por isso, ele será quebrado se algum dos campos aumentar de largura. Dê uma olhada em este post para alinhamento automático.

    
por 21.07.2013 / 14:47