我是靠谱客的博主 雪白冥王星,最近开发中收集的这篇文章主要介绍Linux下如何使用grep命令查找带有tab(退格)的字符,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

需要在日志文件统计删除的主帖,而日志文件是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 '\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

以上内容就是本文的全部内容,希望对大家有所帮助。

最后

以上就是雪白冥王星为你收集整理的Linux下如何使用grep命令查找带有tab(退格)的字符的全部内容,希望文章能够帮你解决Linux下如何使用grep命令查找带有tab(退格)的字符所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(101)

评论列表共有 0 条评论

立即
投稿
返回
顶部