 | 需要在日志文件统计删除的主帖,而日志文件是tab(退格)字符隔开的;假设日志文件名叫delete.log。 保存格式和保存的数据如下, 删除日期 帖子类型(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 ,则会把所有日志都统计出来。 可以看到每行的11的左右都有tab(退格)符,所以可以通过“tab(退格)11tab(退格)”的正则表达式来精确查找。 但如果使用命令cat delete.log |grep 't11t'|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
| |