2011-06-20 29 views
6

Mam dwa pliki (rozdzielane tabulatorami) jeden plik ma 4 kolumny i n liczbę wierszy, a drugi plik ma 2 kolumny i n liczbę wierszy.scalanie dwóch plików

kolumna 4 pierwszego pliku jest identyczna z kolumną 2 drugiego pliku.

chcę mieć trzeci plik zawierający pierwsze cztery kolumny z pliku 1 i kolumnie 5 z pliku 2.

Wszelkie sugestie dotyczące scenariusza jednego wiersza bash.

+0

dodać dane wejściowe do pytania, a także oczekiwane wyjście –

Odpowiedz

9

spróbować z join

join FILE1 FILE2 -1 4 -2 2 -t"tab"

wyrazić sprzężenia między plików plik1 i plik2 opartych na 4 pola (-1 4) z PLIK1 i 2. pole (-2 2) z plik2

+0

Chcę, aby je jako rozdzielane tabulatorami (i nie otrzymuję ich jako rozdzielane tabulatorami) .... Wszelkie sugestie .. – Angelo

+0

@ Angelo: określ ogranicznik pola z opcją 't '" opcja (jak pokazano na przykładzie tutaj: http://compute.cnr.berkeley.edu/cgi-bin/man-cgi?join) –

3

Wystarczy popatrzeć na komendę join zobacz przewodnik here

1

Dla tabulator spróbować

join -t \t files1 …