测试数据:

[xiluhua@vm-xiluhua][~]$ cat msn.txt
aaa bbb
bbb ccc
ccc ddd
bbb eee
aaa ccc
bbb sss [xiluhua@vm-xiluhua][~]$ cat msn.bk
AAA BBB
BBB CCC
CCC DDD
BBB EEE
AAA CCC
BBB SSS [xiluhua@vm-xiluhua][~]$ cat msn3.bk
AAA BBB
BBB CCC
CCC DDD
BBB EEE
AAA CCC
BBB SSS

-i选项,不分大小写;-r选项,递归匹配;递归匹配当前目录下的包含"AAA BBB"的文件:

[xiluhua@vm-xiluhua][~]$ grep -nri "AAA BBB" .
./msn.txt::aaa bbb
./msn3.bk::AAA BBB
./msn.bk::AAA BBB
./bk/msn.bk::AAA BBB

-l选项,递归匹配当前目录下包含"AAA BBB"的文件的文件名:

[xiluhua@vm-xiluhua][~]$ grep -rl "AAA BBB" .
./msn3.bk
./msn.bk
./bk/msn.bk

-n选项,显示行号,查找文件/etc/passwd中帐号xiluhua的信息:

[xiluhua@vm-xiluhua][~]$ grep -n "xiluhua" /etc/passwd
:xiluhua:x:::xiluhua:/home/xiluhua:/bin/bash

-c选项,报告文件中模式被匹配到的次数:

[xiluhua@vm-xiluhua][~]$ grep -c "aaa" msn.txt

-e选型,或(or)的方式匹配多个字串

例如:grep –nE 'god|good' msn.txt
匹配god或者good。
[xiluhua@vm-xiluhua][~]$  ps -aux | grep -E 'USER|mem' | grep -v 'grep'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
xiluhua 10375 0.0 0.0 317024 0 ? Ssl 9月07 0:20 memcached -d -p 11211 -m 128

^字符,匹配以字符开头的行:

root@MiWiFi-R3-srv ~ $ grep '^k' anaconda-ks.cfg
keyboard --vckeymap=us --xlayouts='us'
kexec-tools

字符$,匹配以字符结尾的行:

root@MiWiFi-R3-srv ~ $ grep 'tools$' anaconda-ks.cfg
kexec-tools

grep DEMO的更多相关文章

  1. 深入理解mmap--内核代码分析及驱动demo示例

    mmap是一个很常用的系统调用,无论是分配内存.读写大文件.链接动态库文件,还是多进程间共享内存,都可以看到其身影.本文首先介绍了进程地址空间和mmap,然后分析了内核代码以了解其实现,最后通过一个简 ...

  2. spring-boot 和 docker 集成

    描述 java 的 Spring是一个很火的框架,Spring boot 这个也不用说了,Docker 近年也很火热, 本文就介绍下我在 Spring boot + Docker的集成一些经验 :) ...

  3. python的egg包的安装和制作]

    Defining Python Source Code Encodings Python egg 的安装 egg文件制作与安装 2011-06-10 14:22:50|  分类: python |   ...

  4. etrace跟踪Nginx代码+ FASTCGI

    http://blog.csdn.net/jianqiangchen/article/details/29175285 http://blog.csdn.net/jianqiangchen/artic ...

  5. Spring Boot 配置优先级顺序

    一般在一个项目中,总是会有好多个环境.比如: 开发环境 -> 测试环境 -> 预发布环境 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一 ...

  6. Spring Boot 部署与服务配置

    Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...

  7. Python的egg包

    1.背景 查看flower的源码,首先看到flower的主程序如下: #!/usr/local/sinasrv2/bin/python2.7 # EASY-INSTALL-ENTRY-SCRIPT: ...

  8. spring boot 包jar运行

    win根目录下执行 mvn install 生成 可运行jar使用java -jar jar名字 执行项目 ps aux|grep demo.jar  查看进程 kill -9 processid 杀 ...

  9. linux驱动开发(四) 字符设备驱动框架(自动创建设备节点)

    代码如下 #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> # ...

随机推荐

  1. SQLSERVER执行计划详解

    序言 本篇主要目的有二: 1.看懂t-sql的执行计划,明白执行计划中的一些常识. 2.能够分析执行计划,找到优化sql性能的思路或方案. 如果你对sql查询优化的理解或常识不是很深入,那么推荐几骗博 ...

  2. ios数字转emoj表情

    +(NSString *)convertSimpleUnicodeStr:(NSString *)inputStr{ ,); UTF32Char inputChar = ; // unicodeInt ...

  3. oracle启动关闭命令

    关闭:1.shutdown normal 不允许新的连接.等待会话结束.等待事务结束.做一个检查点并关闭数据文件.启动时不需要实例恢复. 2.shutdown transactional不允许新的连接 ...

  4. 使用xib封装一个自定义view的步骤

    使用xib封装一个自定义view的步骤 1> 新建一个继承UIView的自定义view,假设类名叫做(MJAppView) 2> 新建一个MJAppView.xib文件来描述MJAppVi ...

  5. iOS - (调用系统本机发送短信功能)

    今天处理一个订单详情的界面,在订单详情页面上有联系方式(电话号码),在电话号码的右边有两图片,一个是电话样式的,一个是短信样式的,做为一名程序员(号称攻城师)一眼看下去就应该是一个 button,而不 ...

  6. grunt搭建前端自动化实践

    grunt是什么? grunt是一个前端构建工具, 每种应用开发, 都有一套构建工具, 例如linux c程序开发, 构建工具是make, java程序的构建工具为maven,web前端经过十多年的发 ...

  7. MVC 自定义过滤器/特性来实现登录授权及验证

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    最近在做自学MVC,遇到的问题很多,索性一点点总结 ...

  8. MySQL-profiling的使用

    分析SQL执行带来的开销是优化SQL的重要手段.在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析.该参数可以在全局和session级别来设置.对于全局级别则作用于整个MySQL ...

  9. JAX-WS(一)之使用wsgen从Java创建简单的WebService

    概念 JAX-WS2.0的全称Java API for XML-Based Web Service 2.0.JAX-WS2.0是对JAX-RPC1.0规范的扩展,是JAX-RPC1.1的后续版本,JA ...

  10. [reprint]malloc与calloc的区别

    [http://blog.163.com/crazy20070501@126/] 转自某自由人的博客: malloc与calloc的区别 函数malloc()和calloc()都可以用来动态分配内存空 ...