Data file - data.txt:
ABC "I am ABC" 35 DESC DEF "I am not ABC" 42 DESC
cat data.txt | awk '{print $2}'
will result the "I" instead of the string being quoted
How to make awk so that it ignore the space within the quote and think that it is one single token?
Another alternative would be to use the FPAT
variable, that defines a regular expression describing the contents of each field.
Save this AWK script as parse.awk
:
#!/bin/awk -f BEGIN { FPAT = "([^ ]+)|(\"[^\"]+\")" } { print $2 }
Make it executable with chmod +x ./parse.awk
and parse your data file as ./parse.awk data.txt
:
"I am ABC" "I am not ABC"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With