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

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

时间: 2024-11-08 22:44:10

Linux下如何使用grep命令查找带有tab(退格)的字符_正则表达式的相关文章

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    

linux下查看文件-Linux下如果要在根目录查找内容包含某个字符串的文件,怎么查找啊,谢谢

问题描述 Linux下如果要在根目录查找内容包含某个字符串的文件,怎么查找啊,谢谢 我想在Linux下查看某个函数的定义在那个文件里,前提是我不知道在那个文件夹下面,有谁可以帮我看看啊,谢谢 解决方案 在某个目录下的所有文件的内容中,查找包含某个字符串的文件Linux下查找包含字符串的文件命令linux下查找某个目录下包含某个字符串的文件 解决方案二: 问题终于解决了,非常感谢! 解决方案三: grep -rHwns "search str" / 解决方案四: grep -n &quo

grep 命令系列:如何在 Linux/UNIX 中使用 grep 命令

grep 命令系列:如何在 Linux/UNIX 中使用 grep 命令 我该怎样在 Linux.Apple OS X 及其他类 UNIX 系统中使用 grep 命令,你能给我展示一些简单的例子吗? grep 命令用来搜索文本,或从给定的文件中搜索行内包含了给定字符串或单词的文件.通常来说,grep 显示匹配到的行.使用 grep 来搜索包括一个或多个正则表达式匹配到的文本行,然后只显示匹配到的行.grep 被视作在 Linux/ Unix 系统中最有用的命令之一. 你知道吗 grep 这个名字

利用uniread 解决 Linux下的SQL*Plus 命令行历史回调功能

解决|命令行 利用uniread 解决 Linux下的SQL*Plus 命令行历史回调功能 作者: Fenng 大家知道, 在 Windows 平台 命令行中的 SQL*Plus 有命令行历史回调的功能,在SQL*Plus工具下面,可以利用键盘的"向上向下"箭头键对命令行的进行回调.而在Linux上则没有该功能(虽然 Shell 可以做到这一点,但是 SQL*Plus 不可以). 而该功能对于CLI爱好者来说几乎是不可缺的,不知道为什么 Oracle 不把这个功能加进来.不得而知了.

Linux下的目录创建命令使用实践

[文章摘要]        本文以实际的C源程序为例子,介绍了Linux下的目录创建命令(mkdir)的使用方法,为相关开发工作的开展提供了有益的参考. [关键词]        C语言  Linux  目录创建  makefile  开发   一.mkdir命令简介         mkdir命令用来创建指定名称的目录,其命令格式为:mkdir [选项] 目录...        其中,[选项]可以是"-m"."-p"或"-v".此外,目录名是

Linux下vi编辑器的命令模式和编辑模式有什么区别?

问题描述 Linux下vi编辑器的命令模式和编辑模式有什么区别? 解决方案 编辑模式下可以输入和删除文本,与 windows 的常规编辑器的行为一样.命令模式下,可以方便地进行文本操作(包括批量的文本操作).比如说,删除命令d.dw 可以删除从当前光标开始的一个单词, dd 可以删除当前光标所在的行.解决方案二:基础问题还是先去学习学习

Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)

使用linux的过程中,我们会熟悉各种命令,偶尔我们不禁会问,这些命令是怎么实现的,学习他们其实是学习linux高级系统编程很快捷的方法. 这些命令的源码肯定是存放在相应的包里面,但是是哪些包呢? 发行版的包管理器为我们提供了很方便的命令接口,供我们查找我们指定命令所在的包 比如我们以最普通的uname命令来说明, 使用我们使用whereis或者which命令可以查找命令的绝对位置 通过rpm或者dpkg命令搜索命令所属的包信息 下载并安装对应的源码source包,即可得到源码 CentOS等r

Linux下常用的shell命令记录

本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会持续更新. 说明,我是在一个Centos 6.4 64位的虚拟机系统进行测试.本文介绍的命令都会在此Centos下运行验证(也有部分命令会在我的suse/ubuntu系统里测试的,会做特明说明),但运行结果就不再列出了. 硬件篇 CPU相关 lscpu                   #查看的是

linux下memcached的启动命令和使用

一.启动和停止   (1)启动   默认情况下memcached安装到/usr/local/bin下.   进入安装目录,启动memcached: /usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root   -d 选项是启动一个守护进程, -m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB -u 是运行Memcache的用户,这里是root -l 是监听的服务器IP地址,默认应该是本机