Sziasztok!
Ezt szerintetek bashban, hogyan lehet megoldani?
Van két fájl, az egyikben nyolc a másikban két oszlop. A nyolcoszlopos fájl második oszlopa és a két oszlopos fájl első oszlopa tartalmaz egy számsort. Nekem azt kellene megoldanom, hogy ha a két fájlban található számsorok egyeznek, akkor az nyolc oszlopos fájl sorának a végéhez illessze be a két oszlopos fájl sorát.
Tehát ha nyolcoszlopos fájl:
a,12345,b,c,d,e,f,g
a két oszlopos pedig:
12345,akármi
akkor:
a,12345,b,c,d,e,f,g,12345,akármi
legyen belőle
Ha nincs egyezés, akkor csak a nyolcoszlopos fájl sora kell.
Tehát ha nyolcoszlopos fájl:
a,12345,b,c,d,e,f,g
b,12346,c,d,e,f,g,h
a két oszlopos pedig:
12345,akármi
12347,akármi
akkor pedig:
a,12345,b,c,d,e,f,g,12345,akármi
b,12346,c,d,e,f,g,h
Előre is köszönöm!
- 5366 megtekintés
Hozzászólások
cut parancsnak nézz utána, azzal szét lehet bontani az oszlopokat.
- A hozzászóláshoz be kell jelentkezni
Ja, csak én nem szétbontani akarom, hanem összefűzni. A cut-ot van szerencsém ismerni, de azzal nem tudtam megoldani.
üdv: pomm
A 852-es kídlap telepötúsa sikeresen befejezádétt
- A hozzászóláshoz be kell jelentkezni
Egy gyors megoldás php-ben: http://pastebin.com/qw4tXGbA
Érdemes kipróbálni :-)
- A hozzászóláshoz be kell jelentkezni
join parancs?
$ man join
NAME
join - join lines of two files on a common field
$ pinfo join
# Itt még több info van a használatáról
- A hozzászóláshoz be kell jelentkezni
Köszönöm!
Jól értem, hogy ez akárhány ilyen sort végig tud nézni és szépen összerakja ha egyezés van az adott fájlok adott oszlopaiban?
üdv: pomm
A 852-es kídlap telepötúsa sikeresen befejezádétt
- A hozzászóláshoz be kell jelentkezni
Kb. de a fájloknak rendezetteknek kell lenniük.
Alternatíva:
awk -F, -vOFS=, 'FILENAME=="kettes" { kettes[$1] = $2 ;next}; { if ($2 in kettes) print $0, $2, kettes[$2]; else print}' kettes nyolcas
- A hozzászóláshoz be kell jelentkezni