Mapuj dane z 2 plików tekstowych .. w systemie Windows

0

Mam 2 pliki tekstowe, np. plik1 i plik2 plik1 ma kolumnę A, która ma listę identyfikatorów, np. ID1, ID2, ID3. Każdy identyfikator ma kilka dzieci, np. ID1 ma dziecko1, dziecko2, dziecko3; ID2 ma dziecko4, dziecko5 itd. ... Każdy identyfikator dziecka jest unikalny. plik2 ma kolumnę B, która ma listę, jeśli wszystkie childX zdefiniowane w pliku1 wraz z innymi atrybutami, np. lokalizacja i itp. Zadanie to: znajdź mapowanie między identyfikatorem z pliku1 a identyfikatorem dziecka z pliku2. Innymi słowy użytkownik chce wiedzieć, że patrząc na plik2 i widząc tylko identyfikator dziecka, którego identyfikatory pochodzą z pliku1, pochodzą z ... Przepraszam, jeśli jest trochę kłopotliwy. Moje pytanie: rozumiem, że można to zrobić programowo, np. używając Pythona lub etc, ale czy mogę użyć dowolnego narzędzia Unix, np. cygwin jak grep lub diff lub etc w celu wykonania tego mapowania? Dzięki P.S. Chodzi o to, czy można to zrobić bez skryptów ... ale po prostu uruchamiając jakieś narzędzie unixowe. Zadanie brzmi dla mnie jak pobieranie danych przez połączenie 2 tabel.

susik
źródło
patrz synu man join
matzeri
Dzięki matzeri. Właśnie to szukałem ... Przepraszam, nie wiem, jak oznaczyć ten wątek jako rozwiązany.
susik

Odpowiedzi:

0

Pakiet cygwin coreutils zapewnia join dowództwo. Jak donosi
https://www.gnu.org/software/coreutils/manual/html_node/join-invocation.html#join-invocation

dołącz: Dołącz do linii na wspólnym polu

join zapisuje na standardowe wyjście linię dla każdej pary linii wejściowych   które mają identyczne pola łączenia. Streszczenie:

join [option]… file1 file2

Plik1 lub plik2 (ale nie oba) może być „-”, co oznacza standard   wkład. plik1 i plik2 należy posortować na polach łączenia.

zobacz link lub stronę man do pełnego wykorzystania.

matzeri
źródło