usando o awk para criar uma tabela LaTex dos meus dados em um arquivo de texto

1

Então usei o awk algumas vezes para adicionar ou remover texto de cada linha de um arquivo de texto. O que eu gostaria de aprender agora é adicionar alguns caracteres a cada linha em vários lugares.

O que isso significa é para minhas tabelas de dados em latex. Por exemplo, eu posso ter um arquivo parecido com isto:

mass merror velocity verror
1.0 0.1 2.0 0.2
1.5 0.2 1.0 0.2
2.0 0.3 0.5 0.1

agora para exibir isso como uma tabela em latex, preciso adicionar "&" entre as colunas. Eu quero que seja 2 colunas com um símbolo +/- separando os valores de erro. Também precisa estar no modo matemático em cada valor. Se você não conhece o látex, não se preocupe. O código de saída que eu quero é exatamente isso:

\(mass \pm \merror\) & \(velocity \pm verror\) \
\(1.0 \pm 0.1\) & \(2.0 \pm 0.2\) \
\(1.5 \pm 0.2\) & \(1.0 \pm 0.2\) \
\(2.0 \pm 0.3\) & \(0.5 \pm 0.1\) \

Por isso, quero adicionar "(" antes da primeira e da terceira coluna dos meus dados "\ pm" antes da segunda coluna e quarta coluna dos meus dados e ")" no final da segunda e quarta coluna. Eu já sei como adicionar o \ no final.

    
por Rich Williams 18.11.2013 / 20:38

2 respostas

3

awk '{print "\("$1" \pm "$2"\) & \("$3" \pm "$4"\) \\"}'
    
por 18.11.2013 / 21:02
1

A maneira awk que você recebeu nos comentários deve ser perfeita. Veja como fazer a mesma coisa em Perl:

perl -lane 'print "\($F[0] \pm \$F[1]) & \(\$F[2] \pm \$F[3]) \\"' file 
    
por 18.11.2013 / 21:02