Re: problem with spaces in quoted string arguments



On 2007-10-26, 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.

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

Or:

awk '{print $2}' test2 | tr -d '"'

--
Chris F.A. Johnson, author <http://cfaj.freeshell.org/shell/>
Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress)
===== My code in this post, if any, assumes the POSIX locale
===== and is released under the GNU General Public Licence
.



Relevant Pages

  • 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)
  • Re: problem with spaces in quoted string arguments
    ... Janis Papanagnou wrote: ... are in double quotes. ... 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. ...
    (comp.unix.shell)
  • Re: Extract the whole column in a file
    ... Using AWK, how can I extract a set of columns based on header ... With the following embedded test data in the here document and the ...
    (comp.unix.shell)
  • Re: Extract the whole column in a file
    ... how can I extract a set of columns based on header ... I assume you want an arbitrarily choosen set of columns in every call. ... subsequent awk program... ... as I have to extract column info for many columns. ...
    (comp.unix.shell)
  • Re: using case to check boundary in number range
    ... Chris F.A. Johnson wrote: ... >>the file to extract the total number of lines using awk. ...
    (comp.unix.shell)