JoeDoe wrote:
.....
>> Se:
http://www.gnu.org/manual/gawk/html_node/Quoting.html
>>
>> $ cat textfile | awk '{FS=" ";i+=1;print "var("i") = \"" $1"\"" " '\'' "
>> $2}'
>> var(1) = "10.1.1.1" ' Text#1
>> var(2) = "10.1.1.2" ' Text#2
>
> Se bare - der ér en løsning
mange mange tak Tom, det virker
> perfekt. Ikke at jeg forstår hvorfor det lige skal være sådan, men det
> fungere og det er hovedsagen.
til en anden gang, problemet er hvornår og hvad der læser escape tegn \ og
tegnene til streng start/slut som " og '.
Dvs. er det sh eller awk , og så skal man fixe det det rette sted.
Så det ovenstående gør er egentlig at lave 2 tekststrenge med et tegn
imellem. Men for at sh ikke skal fortolke det midterste tegn ' som en ny
streng får den et \ foran.
dvs. 3 sæt tekst :
'{FS=" ";i+=1;print "var("i") = \"" $1"\"" " '
\'
'"$2}'
I stedet for midterste \' kunne man også have brugt "'" :
awk '{FS=" ";i+=1;print "var("i") = \"" $1"\" '"'"' "$2}'
men man kunne også helt undgå ' i strengen og indsætte hex eller octal værdi
som \47 eller \047, men det vik afhænge af programmet (her awk) om man
kan dette:
awk '{FS=" ";i+=1;print "var("i") = \"" $1"\" \047 "$2}'