Mesclar arquivos de duas colunas em um arquivo

2

Eu tenho um monte de arquivos ( file1 , file2 , file3 , ...) com duas colunas. Por exemplo, file1 se parece com:

0.12 0
0.32 0
0.42 1
0.23 0

e file2 se parecem com:

0.34 1
0.55 1
0.31 1
0.99 0

Gostaria de saber como mesclar corretamente esses arquivos em um arquivo com apenas as primeiras colunas. O arquivo de saída deve ser como:

0.12 0.34
0.32 0.55
0.42 0.31
0.23 0.99

Minha tentativa inicial (malsucedida) está aqui:

pr -t -s ',' -m <(< file1 | cut -d ' ' -f 1) <(< file2 | cut -d ' ' -f 1)
    
por Andrej 23.07.2015 / 08:16

2 respostas

2

Como o número de arquivos é grande, o awk parece uma boa escolha:

awk '
    {line[FNR] = line[FNR] $1 OFS}
    END {for (i=1; i<=FNR; i++) print line[i]}
' file1 file2 file3 ...
    
por 23.07.2015 / 08:24
0

abordagem simples:

$ cat file1
0.12 0
0.32 0
0.42 1
0.23 0
$ cat file2
0.92 0
0.92 0
0.92 1
0.93 0
$ cat file1 file2 | cut -f1 -d" "
0.12
0.32
0.42
0.23
0.92
0.92
0.92
0.93
$
    
por 23.07.2015 / 08:29