我希望从一系列数据中提取一些内容:
bin-66-776-33-22.hero.com - - [ 17 / oct / 2012:04:16:12 +0100]“GET < strong> /intro.txt http / 1.0“ 200 25 ” - “”英雄/ 2.1(+ http://hero.com/intro.html
粗体位是我想要提取的部分
我目前一直在使用
cat file.txt | egrep "^(.*) - .* \[(.*)12"
然而,我知道这一点,并且无法真正看到它的工作原理和结束位'(.*)12'
看了太多东西。
我也想知道这在bash脚本中是否会更好?
答案 0 :(得分:2)
awk
更适合这个:
$ awk -F'[[ ]' '{print $1,$5,$8,$10,$11}' file
bin-66-776-33-22.hero.com 17/oct/2012:04:16:12 /intro.txt 200 25