需要在日志文件統(tǒng)計刪除的主帖,而日志文件是tab(退格)字符隔開的;假設(shè)日志文件名叫delete.log。
保存格式和保存的數(shù)據(jù)如下,
刪除日期 帖子類型(11為主帖,12為回帖) 帖子id 操作人id
2011-11-01 00:05 12 71163578 1153089
2011-11-01 00:19 11 71163800 134379
2011-11-01 00:19 12 71163801 134379
2011-11-01 00:20 11 71151662 2064561
2011-11-01 00:42 11 71163897 719476
2011-11-01 01:05 11 71164159 2215597
2011-11-01 03:44 12 71164712 2317663
2011-11-01 04:40 12 71164820 111
2011-11-01 04:46 12 71164841 622530
2011-11-01 05:03 12 71164881 1999836
2011-11-01 06:23 11 71163794 32254
2011-11-01 06:27 12 71162281 32254
2011-11-01 07:12 11 71165688 2296120
2011-11-01 07:12 11 71165682 2296120
2011-11-01 07:38 12 71165870 11568
2011-11-01 07:49 11 71142268 1020
2011-11-01 08:20 12 71167000 634940
2011-11-01 08:38 11 70948995 604153
2011-11-01 08:40 12 71167508 2100858
2011-11-01 08:59 12 71168173 952148
從日志文件上,如果用命令cat delete.log |grep '11'|wc ,則會把所有日志都統(tǒng)計出來。
可以看到每行的11的左右都有tab(退格)符,所以可以通過“tab(退格)11tab(退格)”的正則表達式來精確查找。
但如果使用命令cat delete.log |grep '\t11\t'|wc 或者cat delete.log |grep '\\t11\\t'|wc 確一個也查不出來。
其實在linux中要正確匹配tab(退格)符有兩種方式
1:用 grep $'\t' 你的文件
2:用 grep '按CTRL+V 鍵,再按TAB鍵' 你的文件
再回到上面的問題,則可以用以下的命令
cat delete.log |grep $'\t'11$'\t' |wc
或者
cat delete.log |grep ‘CTRL+V,TAB11CTRL+V,TAB'|wc
以上內(nèi)容就是本文的全部內(nèi)容,希望對大家有所幫助。
您可能感興趣的文章:- Linux中利用grep命令如何檢索文件內(nèi)容詳解
- Linux下find和grep常用命令及區(qū)別介紹
- linux文本過濾grep基礎(chǔ)命令介紹(5)
- 一天一個shell命令 linux文本內(nèi)容操作系列-grep命令詳解
- Linux下的Grep命令使用方法詳細介紹
- Linux 使用grep篩選多個條件及grep常用過濾命令