LINUX.ORG.RU

Как объединить несколько таблиц


0

0

Имеются много файлов в виде таблиц с одинаковым первым столбцом.
Например
1 34
2 56
3 78
4 22


1 54
2 45
3 89
4 12

Как мне все эти файлы объединить в один, в котором бы остался 1 столбец как есть, а остальные соответствовали бы вторым столбцам во всех файлах, например:

1 34 54
2 56 45
3 78 89
4 22 12

Спасибо.

Ответ на: комментарий от sdio

Пробовал. join 1.dat 2.dat - В итоге получается только второй столбец второго файла.
И join работает тол'ко с 2 файлами, а у меня их 200.

Vidopliassov
() автор топика
Ответ на: комментарий от Vidopliassov

$ cat f1
1 34
2 56
3 78
4 22 

$ cat f2
1 54
2 45
3 89
4 12 

$ join f1 f2
1 34 54
2 56 45
3 78 89
4 22 12 

sdio ★★★★★
()
Ответ на: комментарий от Vidopliassov

А насчет 200 файлов
_____________________________________________________

$ cat ~/bin/join2.sh
#! /bin/sh
join -o 1.1 1.2 2.2 result_dat $1 > result.tmp
mv result.tmp result_dat
____________________________________________________


mv f1.dat result_dat
find . -name '*.dat' -type f -exec ~/bin/join2.sh {} \; 


P.S. Вроде сойдет.

sdio ★★★★★
()
Ответ на: комментарий от sdio

Разобрался. У меня в конце каждой строчки был символ ^М (файлы из Windows брались). И оно не работало. Удалил, работает. Спасибо.

Vidopliassov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.