"Szerintem az a baj, hogy az awk print automatikusan rátesz egy sorvéget."
- igen ott lehet valami. Ld. később.
Vagy állítsd be az ORS-t vagy használd a printf-et.
- ezeket még nem ismerem... ???
Egy kicsit próbálgattam másképp. Eredmények:
itt beírtam a scriptbe a változót
1, egy szó keres
u2=Tom
grep $u2 $i
grep "$u2" $i
-mindkét grep keresés jó
2, két szó keres
u2=Tom Sawyer
grep $u2 $i
line 17: Sawyer: command not found
grep "$u2" $i
-olyan találatok amiben egyik megadott szó sem szerepel (szavak: Tom Sawyer)
3, idézőjelek közé a változó
u2="Tom Sawyer"
grep $u2 $i
(program exited with code: 2)
grep "$u2" $i
csak a megadott két szót keresi. Tökéletes!
4,
u2="és a ha"
ez is szuper !!!
Vissza az awk-hoz, egy szót keres:
1, utolsó oszlop
u1=`awk 'NR==1 {print $NF}' file`
grep $u1 $i
(program exited with code: 1)
grep "$u1" $i
(program exited with code: 1)
A "print $NF" az utolsó oszlopnál, tényleg gond van.
2, 3. oszlop
u1=`awk 'NR==1 {print $3}' file`
grep $u1 $i
ez jó eredményt ad
grep "$u1" $i
ez is
3, két oszlop a 3. és a 4. (két szó: légy a)
u1=`awk 'NR==1 {print $3, $4}'
grep $u1 $i
grep: a: No such file or directory
...
(program exited with code: 2)
grep "$u1" $i
(program exited with code: 1)
Egyik sem jó.
megpróbáltam "cut" parancsot is:
u1=`head -1 file | cut -c9-21`
echo $u1
légy a szü
grep "$u1" $i
a grep-nél már hibát ír.
Összegzés:
Ha két v. több szót keresnék az nem jó. (kivéve így: u2="Tom Sawyer")
Szerintem a váltózónál a ``-el lesz a gond.
Lehet ott is kellene a "" ? De hogyan ???
[ Szerkesztve ]