如何使用egrep提取零件

时间:2013-04-09 10:33:44

标签: bash awk grep

我希望从一系列数据中提取一些内容:

  

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脚本中是否会更好?

1 个答案:

答案 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