转载地址:http://hi.baidu.com/yyangjjun/item/2add4eeae2ef04ebfa42bab5
如果在只是想匹配模式的上下几行,grep可以实现。
$grep -5 'parttern' inputfile //打印匹配行的前后5行
$grep -C 5 'parttern' inputfile //打印匹配行的前后5行
$grep -A 5 'parttern' inputfile //打印匹配行的后5行
$grep -B 5 'parttern' inputfile //打印匹配行的前5行
自我总结:
例子:
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
------------------------------ --------------- --------------- ----------
TEMP 2028 2027.90527 1836.66211
Tue Jun 3 10:50:01 CST 2014
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
------------------------------ --------------- --------------- ----------
TEMP 2028 2027.94434 1818.06641
Tue Jun 3 10:55:01 CST 2014
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
------------------------------ --------------- --------------- ----------
TEMP 2028 2027.79956 1801.75415
Tue Jun 3 11:00:01 CST 2014
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
------------------------------ --------------- --------------- ----------
TEMP 2028 2027.74927 1783.67749
Tue Jun 3 11:05:01 CST 2014
TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
------------------------------ --------------- --------------- ----------
TEMP 2028 2027.96729 1766.54834
我想要匹配FREE_SPACE占用空间大于0小于20之间的数据。打印出来
命令:
grep -A 2 'FREE_SPACE' temp_free_space_check.txt |awk '$4 < 20 && $4 > 0 {print $4}'
我想要匹配FREE_SPACE占用空间大于0小于20之间的数据,并且将该数据对应发生的时间一同打印出来:
grep -C 2 'FREE_SPACE' temp_free_space_check.txt |awk '$4 < 20 && $4 > 0 {print $1,$4}'|grep -B 1 'TEMP'