Re: problem with spaces in quoted string arguments



Janis Papanagnou wrote:
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

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

....if you want to keep the quotes.



Janis


Thanks
Fritz

.



Relevant Pages

  • Re: Problem with Importing CSV with "=" inside a field value
    ... is a small Access database ... and have overcome a number of obstacles. ... it has an equal sign at the front and wrapped by quotes. ... Any way to skip parsing this field such that Access can extract the fields ...
    (microsoft.public.access.externaldata)
  • Re: Problem with Importing CSV with "=" inside a field value
    ... and have overcome a number of obstacles. ... it has an equal sign at the front and wrapped by quotes. ... This problematic field actually is of no use to me. ... Any way to skip parsing this field such that Access can extract the fields ...
    (microsoft.public.access.externaldata)
  • Re: Extract until unquote or EOL
    ... > I wan't to extract the phrase/text between the two quotes. ... NAME = no quotation marks so grab all of this ... NAME = "solitary quotation mark at the beginning of line, so grab all ...
    (comp.lang.perl.misc)
  • Problem with Importing CSV with "=" inside a field value
    ... and have overcome a number of obstacles. ... it has an equal sign at the front and wrapped by quotes. ... This problematic field actually is of no use to me. ... Any way to skip parsing this field such that Access can extract the fields ...
    (microsoft.public.access.externaldata)
  • Re: problem with spaces in quoted string arguments
    ... I am passing a list of file records to awk in an attempt to extract ... I simply cat the file into gawk and I was hoping to extract the name ... As can be seen in the output, the server called "photon hub" did not ... since the space was detected in the argument to awk. ...
    (comp.unix.shell)