linux grep列印匹配的上下幾行

germany006發表於2014-06-03

轉載地址:

如果在只是想匹配模式的上下幾行,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'



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-1174687/,如需轉載,請註明出處,否則將追究法律責任。

相關文章