关于匹配的实例:
统计所有包含“48”字符的行有多少行
grep -c "48" demo.txt
 
不区分大小写查找“May”所有的行)
grep -i "May" demo.txt
 
显示匹配字符“48”的行及行号
grep -n "48" demo.txt
 
显示输出没有字符“48”所有的行)
grep -v "48" demo.txt
 
显示输出以字符“48”开头,并在字符“48”后是一个tab键所在的行
grep '48[[:blank:]]' demo.txt
 
显示输出以字符“48”开头,第三个字符是“3”或是“4”的所有的行)
grep "48[34]" demo.txt
 
显示输出行首不是字符“48”的行)
grep "^[^48]" demo.txt
 
显示输出第一个字符以“M”或“m”开头,以字符“ay”结束的行)
grep "[Mm]ay" demo.txt
 
显示输出第一个字符是“K”,第二、三、四是任意字符,第五个字符是“D”所在的行)
grep "K…D" demo.txt
 
显示输出第一个字符的范围是“A-D”,第二个字符是“9”,第三个字符的是“D”的所有的行
grep "[A-D][9]D" demo.txt
 
显示第一个字符是3或5,第二三个字符是任意,以1998结尾的所有行
grep "[35]..1998" demo.txt
 
显示输出字符“4”至少重复出现2次的所有行
grep "4\{2,\}" demo.txt
 
显示输出字符“9”至少重复出现3次的所有行
grep "9\{3,\}" demo.txt
 
显示输出字符“9”重复出现的次数在一定范围内,重复出现2次或3次所有行
grep "9\{2,3\}" demo.txt
 
显示输出空行的行号
grep -n "^$" demo.txt
 
如果要查询目录列表中的目录 同:ls -d *
ls -l |grep "^d"
 
在一个目录中查询不包含目录的所有文件
ls -l |grep "^[d]"
 
查询其他用户和用户组成员有可执行权限的目录集合
ls -l |grpe "^d…..x..x"
 
 
假定要抽取代码为484和483的城市位置,
#grep '48[34]' data.f
 
如果要抽出记录,使其行首不是48,
#grep '^[^48]' data.f
 
抽取以L开头,以D结尾长度为5个字符的所有代码,可使用下述方法:
#grep 'L...D' data.f
 
查询所有以5开始以1996或1998结尾的所有记录
#grep '5..199[68]' data.f
 
第一个字符为任意数字,第二个字符在0到5之间,第三个字符在0到6之间:
#grep '[0-9][0-5][0-6]' data.f
#grep '^[0-9][0-5][0-6]' data.f #以行首开始
 
抽取包含数字4至少重复出现两次的所有行:
#grep '4\{2,\}' data.f
 
grep命令加-E参数,这一扩展允许使用扩展模式匹配。
例如,要抽取城市代码为219或216,方法如下:
#grep -E '219|216' data.f
 
结合使用^和$可查询空行。使用- n参数显示实际行数:
#grep -n '^$' data.f
 
匹配特殊字符查询有特殊含义的字符,诸如$.'"*[]^|\+?,必须在特定字符前加\。
假设要查询包含“.”的所有行,脚本如下:
#grep '\.' data.f
#grep '\"' data.f
 
如要查询文件名conftroll.conf(这是一个配置文件),脚本如下:
#grep 'conftroll\.conf' myfile
 
最多六个小写字符,后跟句点,接着是两个大写字符,
#grep '[a-z]\{1,6\}\.[A-Z]\{2\}' filename.deposit
 
grep中通配符*的使用
#grep 'l.*s' testfile #匹配如"looks"
#grep 'oo*' testfile #匹配如"looks"
 
在所有文件中查询行尾包含单词device的所有行
#grep 'device$' *
 
查询目录列表中的目录,方法如下:
#ls -l | grep '^d'
在一个目录中查询不包含目录的所有文件,方法如下:
#ls -l | grep '^[^d]'
要查询其他用户和其他用户组成员有可执行权限的目录集合,方法如下:
#ls -l | grep '^d.....x..x'
 
 

grep匹配命令的更多相关文章

  1. windows类似grep的命令——findstr

    windows类似grep的命令——findstr   使用Chrome发现访问google总是向香港那边跳转,估计配置文件中google网站映射的地址是www.google.com.hk,便想着改配 ...

  2. Linux grep/egrep命令详解

    grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来 grep搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2. grep的规则表达式( ...

  3. 【文本处理命令】之grep搜索命令详解

    一.grep搜索命令 在日常使用中grep命令也是会经常用到的一个搜索命令.grep命令用于在文本中执行关键词搜索,并显示匹配的结果. 格式: grep [选项] [文件] Usage: grep [ ...

  4. linux 用grep匹配横线

    file的内容如下: ADSFADSFSDFASDFJKJK----------------------------------------ADSFADSFSDFASDFJKJK----------- ...

  5. ps | grep app 命令不显示grep app本身进程的几种方式

    ps | grep app 命令不显示grep app本身进程的几种方式 使用ps命令查询进程,常常我们不想打印出"ps | grep app"这个当前进程,比如如下: [root ...

  6. windows 下面的grep awk 命令

    windows 下面的grep awk 命令 grep 学习了:http://blog.csdn.net/chengfans/article/details/53784936 awk学习了:http: ...

  7. sed grep find命令

    一.sed [-nerf][n1,n2] action -n 安静模式,只有经过sed处理过的行才显示出来,其他不显示. -r 表示sed支持扩展的正则表达式 -e 表示直接在命令行模式上进行sed操 ...

  8. Linux下的grep搜索命令详解(一)

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...

  9. linux中查找(find、locate、which、whereis、grep)命令汇总、帮助命令(man、whatis、apropos、info、help)汇总

    (一)find命令详解 find:功能:文件搜索: 语法:find[搜索范围][匹配条件]:  只要匹配条件完全符合才可以被显示,使用通配符*匹配条件*则可以显示匹配条件的所有目录,问号?匹配单个字符 ...

随机推荐

  1. TensorFlow.环境_avx2

    1.缘由: 按照之前的步骤,在Win10的笔记本上就是不行: 1.1.jupyter notebook的相关界面,如下图所示: ZC:感觉 应该还是 tensorflow的问题 1.2.然后 各种测试 ...

  2. Optional的理解和使用

    1.Optional 到底是什么? Optional 是一个包装类.类中包装的对象可以为 NULL 或非 NULL.简单说就是把 NULL 包了一层,防止直接对 NULL 操作报NPE. 2.Opti ...

  3. elasticsearch数据库(ES)

    1. http://blog.csdn.net/cnweike/article/details/33736429 http://www.oschina.net/translate/elasticsea ...

  4. 《MIT 6.828 Lab 1 Exercise 11》实验报告

    本实验的网站链接:MIT 6.828 Lab 1 Exercise 11. 题目 The above exercise should give you the information you need ...

  5. poj1426(暴力dfs)

    题目链接:https://vjudge.net/problem/POJ-1426 题意:给出n(1<=n<=200),求出全部由01组成的能整除n的正整数. 思路:此题在unsigned ...

  6. Oracle 11.2.0.4_Linux单例篇

    Linux 下安装Oracle步骤: 1.设置ip地址  2.设置主机名 3.安装oracle依赖的软件包 mkdir /media/cdrom -p mount /dev/cdrom  /media ...

  7. 【hash】Seek the Name, Seek the Fame

    [哈希和哈希表]Seek the Name, Seek the Fame 题目描述 The little cat is so famous, that many couples tramp over ...

  8. Linux Centos7 离线安装docker 【官网翻译和注释】

    Centos7的Docker安装 需要一个维护版本的centos7,所以6不行. 卸载旧版本 旧版本的docker被称为 docker or docker-engine 如果存在请删除它们. sudo ...

  9. Java lesson09Homework

    1.   上转型对象的定义是什么?阐述自己对上转型对象的理解,用文字描述. 上转型:父类声明,子类实例化 叫做上转型. (自己的理解)上转型对象可以利用父类中的全员变量和方法,当子类进行全员变量隐藏或 ...

  10. HTTP的请求方法

    . OPTIONS - 获取服务器支持的HTTP请求方法:                     用来检查服务器的性能.如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP O ...