bash script variables in awk nutzen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
moritzz
Beiträge: 185
Registriert: 12.09.2009 14:56:58
Wohnort: Münster
Kontaktdaten:

bash script variables in awk nutzen

Beitrag von moritzz » 15.06.2010 17:47:19

Hallo,

ich moechte gern folgenden Command ausfuehren und mein Problem ist, dass in dem print die Variablen nicht ersetzt werden:

Code: Alles auswählen

head -n ${AMOUNT_PINGS[$j]} ${LOCATIONFILE} | awk '{split($0,a,"\t"); print "SELECT ${LOCATION_COLUMN} FROM ${TABLE_NAME} ORDER BY ST_DISTANCE(${LOCATION_COLUMN}, PointFromText('"'"'POINT("a[2]" "a[1]")'"'"', 4326)) LIMIT 1;"}' > ${LOCATIONQUERIES}
Kann mir jemand sagen, was ich anders machen muss?
Woher soll ich wissen was ich denke, bevor ich höre was ich sage?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: bash script variables in awk nutzen

Beitrag von rendegast » 15.06.2010 18:26:36

Verwende '--assign':

Code: Alles auswählen

$ cat command 
#!/bin/sh
first=aaa
second=bbb
echo c d e | awk --assign TTT=$first '{print TTT}' -

$ ./command 
aaa
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

moritzz
Beiträge: 185
Registriert: 12.09.2009 14:56:58
Wohnort: Münster
Kontaktdaten:

Re: bash script variables in awk nutzen

Beitrag von moritzz » 15.06.2010 19:32:35

Vernuenftig quoten tut es auch :oops:
Woher soll ich wissen was ich denke, bevor ich höre was ich sage?

Antworten