Re: problem with spaces in quoted string arguments



rec.woodworking wrote:
I am passing a list of file records to awk in an attempt to extract
the 2nd field of each record. The records consist of strings seprated
by a space. Some of the strings themselves contain spaces and these
are in double quotes. For example:

10.1.1.2 "testserver" 128.8.183.2
10.1.2.2 "photon hub" 128.8.181.2
10.1.1.7 "voltserver" 128.8.187.4

I simply cat the file into gawk and I was hoping to extract the name
fields:

cat test2 | awk '{print $2}'
"testserver"
"photon
"voltserver"

As can be seen in the output, the server called "photon hub" did not
extract properly, since the space was detected in the argument to awk.
I have looked for an option to ignore spaces within double quotes and
can find none. The easy thing to do is write a quick C program to do
this, but perhaps there is a simple work around that I do not know
about.

If your data is as shown above and you just want to extract the one
field then you can redefine the field separator...

awk -F\" '{print $2}' test2


Janis


Thanks
Fritz

.