Portál AbcLinuxu, 11. května 2025 15:50
dotaz je az dole mam 2 soubory, "in" a "dvojice": chci je spojit podobne jako v SQL inner join, where in.2sloupec=dvojice.1sloupec toto je in: a b a e toto je dvojice: a b a c b d e a e g chci je spojit tak, abych propojila 2 sloupec in na 1 sloupec dvojice tj b e spojit s a a b e e abych dostala a b d a e a a e g dotaz: proc mi awk uz projede soubor in jen pro 1.radek? awk ' {radek = $0} {while ("cat dvojice" | getline dvoj) print radek,dvoj next } {print} ' in dotaz 2: proc mi hlasi chybu u: awk ' {radek = $0 while ( getline prom < dvojice >0) #tady ma byt chyba print radek,prom next } {print "ahoj"} ' in
proc mi hlasi chybu u:Opravené to vypadá takto:
awk ' {radek = $0 while ( getline prom < "dvojice" >0) #tady ma byt chyba print radek,prom next } {print "ahoj"} ' inBez uvozovek je to bráno jako proměnná a ta není nastavena.
awk '{ radek = $0 while (getline dvoj <"dvojice") print radek,dvoj close ("dvojice") } {print} ' in… hádám, že to next dělalo něco jiného než jsi chtěla.
join -1 2 -o 1.1,1.2,2.2 in dvojice
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.