Construir tabelas - Anexar uma coluna selecionada

0

Eu tenho várias tabelas (separação de separadores) da seguinte forma:

YEAR MONTH DAY RES 
1971 1     1   1000 
1971 1     2   1542 
....

Todos eles apresentam as mesmas três primeiras colunas. Para agrupar todos os dados em uma tabela grande, gostaria de acrescentar a última coluna de todas as minhas tabelas. Atualmente, uso o comando paste :

paste table1.txt table2.txt > table.txt

Mas, gostaria apenas de acrescentar a última coluna. Alguém tem uma ideia sobre como fazer isso?

Por exemplo, table1.txt é o seguinte:

1971 1 1 1000
1971 1 2 1541
1971 1 3 1245

table2.txt da seguinte forma:

1971 1 1 234
1971 1 2 457
1971 1 3 987

e a saída desejada deve ser como table.txt :

1971 1 1 1000 234
1971 1 2 1541 457
1971 1 3 1245 987
    
por steve 06.10.2015 / 18:37

1 resposta

4

Isso deve funcionar para imprimir o último campo:

paste table1.txt <(awk '{print $NF}' table2.txt) > table.txt

Ou, se você souber que o último campo será sempre o quarto:

paste file1 <(cut -f4 file2) <(cut -f4 file3) 

Isso imprimirá o último campo de table2.txt e passará isso como entrada para paste . Você pode adicionar quantos arquivos precisar:

paste file1 <(cut -f4 file2) <(cut -f4 file3) <(cut -f4 file4)  <(cut -f4 fileN) 
    
por terdon 06.10.2015 / 18:55