Portál AbcLinuxu, 7. listopadu 2025 20:19
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"}
' in
Bez 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.