使用grep实现精确过滤的五种方法
(1)当被过滤的内容占据一行时
[root@MySQL scripts]# cat oldboy.log       
200
0200
2000
[root@MySQL scripts]# grep "\b200\b" oldboy.log 
200 #<==正则按单词匹配
[root@MySQL scripts]# grep -w "200" oldboy.log                  
200 #<==按单词匹配
[root@MySQL scripts]# grep -x "200" oldboy.log                  
200 #<==按整行匹配
[root@MySQL scripts]# grep "^200$" oldboy.log 
200 #<==正则开头结尾匹配,相当于整行匹配
[root@MySQL scripts]# grep -E "\<200\>" oldboy.log 
200 #<==扩展正则
(2)当被过滤的内容占据一行的一部分
[root@MySQL scripts]# cat oldboy.log 
200 oldboy
0200 oldgirl
2000 littleboy
[root@MySQL scripts]# grep "\b200\b" oldboy.log
200 oldboy
[root@MySQL scripts]# grep -w "200" oldboy.log
200 oldboy
[root@MySQL scripts]# grep -x "200" oldboy.log
#<==按整行匹配,所以没结果
[root@MySQL scripts]# grep -x "200 oldboy" oldboy.log
200 oldboy
[root@MySQL scripts]# grep "^200$" oldboy.log
#<==按整行匹配,所以没结果
[root@MySQL scripts]# grep "^200 oldboy$" oldboy.log
200 oldboy
[root@MySQL scripts]# grep -E "\<200\>" oldboy.log 
200 oldboy

grep 精确匹配的更多相关文章

  1. grep精确匹配搜索某个单词的用法 (附: grep高效用法小结))

    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正 ...

  2. Shell脚本中判断字符串是否被包含在内并且使用grep 精确匹配

    str1="abcdefgh" str2="def" result=$(echo $str1 | grep "${str2}") if [[ ...

  3. 使用 grep 的 -o 和 -E 选项进行正则的精确匹配

    sed 命令可以很好的进行行匹配,但从某一行中精确匹配某些内容,则使用 grep 命令并辅以 -o 和 -E 选项可达到此目的.其中 -o 表示“only-matching”,即“仅匹配”之意.光用它 ...

  4. Linux shell】grep命令精确匹配字符串查找

    需求: 精确匹配查找某个字符串   精确匹配: 例如: 在抽取字符串“48”,返回结果包含诸如484和483等包含“48”的其他字符串,实际上应精确抽取只包含48的各行. 使用grep抽取精确匹配的一 ...

  5. vim 精确匹配查找单词【转】

    删除文件中所有的空行:g/^\s*$/d 去掉所有的行尾空格::%s/\s\+$// 整个文件特定字符串的替换:%s/old_word/new_word/g 删除从当前行开始到最后一行的所有内容:., ...

  6. Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等

    http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.html linux下二进制文件查找: strings 0000.ts | grep -o " ...

  7. 三思考,实现自己定义404页:Tomcat、SpringMVC精确匹配、重写DispatchServlet

    第1种方式:Tomcat直接处理 web.xml <error-page> <error-code>404</error-code> <location> ...

  8. awk使用正则精确匹配

    [root@localhost home]# cat file 5001][YRSD5-1][YRSD5-1-2][0203008400028411] 010102 5001][YRSD7-1][YR ...

  9. Solr的精确匹配搜索

    情景: 利用Solr做一批词的逆文档频率.Solr中存储的每条数据为一篇文章,此时需要查出某词在多少篇文章中出现过,然后用公式:某词逆文档频率 = 总文章数 / (出现过某词的文章数+1) 来计算. ...

随机推荐

  1. Log4j官方文档翻译(一、基本介绍)

    简介 log4j是使用java语言编写的可靠的.快速的.灵活的日志框架,它是基于Apache的license. log4j支持c,c++,c#,perl,python,ruby等语言.在运行时通过额外 ...

  2. octave学习

    前置安装 octave introduction 杂 clear; close all; clc刷新清空octave 如果写程序后缀名.m help commandname帮助 ;用法同c++ %注释 ...

  3. 【Codeforces Round #518 (Div. 2)】

    A:https://www.cnblogs.com/myx12345/p/9847588.html B:https://www.cnblogs.com/myx12345/p/9847590.html ...

  4. div模拟dropdownlist控件 div下拉菜单

    原文发布时间为:2009-10-16 -- 来源于本人的百度文章 [由搬家工具导入] 控件发布:div2dropdownlist(div模拟dropdownlist控件) div3dropdownli ...

  5. 数据库一直显示"正在恢复"

    restore database [DataBase] with recovery ALTER DATABASE DataBase SET OFFLINE WITH ROLLBACK IMMEDIAT ...

  6. java网络编程学习笔记(三):ServerSocket详解

    1.ServerSocket的构造方法 ServerSocket(); ServerSocket(int port); ServerSocket(int port,int backlog); Serv ...

  7. Berkeley DB Java Edition 简介

    一.             简介        Berkeley DB Java Edition (JE)是一个完全用JAVA写的,它适合于管理海量的,简单的数据. l         能够高效率的 ...

  8. 转 C++的常量引用

    C++的常量引用 如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作.对常量的引用可以用其它任何引用来初始化:但不能改变. 关 ...

  9. Linux常用命令使用

    系统基础相关 使用root用户的环境变量切换到root用户 su - 显示当前工作路径 pwd 显示当前系统默认语言及键盘布局 localectl 显示系统中能支持的所有语言 localectl li ...

  10. C# .NET4.0 改为 到.NET2.0 时 TypedTableBase 报错解决方法

    .NET 4.0 降版本 到.NET 2.0.不出意外,问题必然来了. 编译错误一: 错误 1 命名空间“System”中不存在类型或命名空间名称“Linq”(是缺少程序集引用吗?)解决: 删掉该引用 ...