Tech Support > Operating Systems > UNIX / Variants > get quote enclosed field in a line
get quote enclosed field in a line
Posted by xahlee@gmail.com on April 17th, 2008


is there a simple way in perl, python, or awk/shell/pipe, that gets
the user agent field in a apache log?

e.g. the typical line is like this:

189.139.109.235 - - [07/Apr/2008:00:00:16 -0400] "GET /
Periodic_dosage_dir/lacru/manara.html HTTP/1.1" 200 1933 xahlee.org
"http://xahlee.org/Periodic_dosage_dir/lacru/manara2.html" "Mozilla/
5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.13) Gecko/20080311
Firefox/2.0.0.13" "-"

I want the part: "Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:
1.8.1.13) Gecko/20080311 Firefox/2.0.0.13".

Thanks.

Xah
xah@xahlee.org
∑ http://xahlee.org/

☄

Posted by Martin P. Hellwig on April 17th, 2008


xahlee@gmail.com wrote:
Something like:
# cut -d '"' -f 6 < httpd-access.log
?
--
mph

Posted by Skye Shaw!@#$ on April 18th, 2008


Doesn't it feel like autosplit mode never gets any run time?

perl -laF'"' -ne'print $F[5]' access_log


Posted by Michael Tosch on April 18th, 2008


xahlee@gmail.com wrote:
awk -F\" '{print $6}' httpd-access.log
awk -F\" 'NF>6{print $6}' httpd-access.log

--
Michael Tosch @ hp : com