grep是Global search Regular Expression and Print out the line的简称。

1. grep命令基本用法

命令格式: grep [选项][模式][文件…]

选项

意义

-c

只输出匹配行的数量

-i

搜索时忽略大小写

-h

查询多文件时不显示文件名

-l

只列出符合匹配的文件名,而不列出具体匹配行

-n

列出所有匹配行,并显示行号

-s

不显示不存在或无匹配文本的错误信息

-v

显示不包含匹配文本的所有行

-w

匹配整词

-r

递归搜索,不仅搜索当前工作目录,而且搜索子目录

-E

支持扩展的正则表达式

-F

不支持正则表达式,按照字符串的字面意思进行匹配

注:只要模式中包含空格,就需要使用双引号将模式括起来。

grep的多文件操作(aa bb为两个文件)

2. grep的选项的含义和用法

2.1 -c选项

在aa,bb两个文件中有两行包含hello

2.2 -n选项

aa,bb文件中的第1行包含hello并打印出信息

2.3 -v选项

2.4 -i选项

在aa文件中搜索不区分大小写的HELLO所有行

2.5 -l选项

搜索当前目录下所有文件包含hello的文本行,只列出文件名

2.6 -s选项

2.7 -r选项

2.8 -w和-x选项

加上-w选项后,*被解释为普通字符。

-x表示匹配整行,即当文件有整行内容匹配时,才输出结果。

2.9 -q选项

加上-q选项不再输出结果,而是以退出状态表示是否成功。

退出状态0表示搜索成功,退出状态1表示未搜索到满足模式的文本行,退出状态2表示命令或程序由于错误而未执行。

3 grep和正则表达式

3.1 匹配行首

3.2 设置大小写

-i可以忽略大小写,也可以用[]来实现

3.3 匹配重复字符

显示已h开头,重复h任意次,然后字母是e的

3.4 转义符

转义符\屏蔽其意

 

正则表达式2——grep命令的更多相关文章

  1. Linux - 结合正则表达式使用grep命令

    Grep with Regular Expression grep命令基本用法 grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名参数说明: ...

  2. Natas10 Writeup(正则表达式、grep命令)

    Natas10: 页面与上一关类似,只是增加了提示“出于安全原因,我们现在过滤某些字符”. 查看源码,发现关键代码如下: $key = ""; if(array_key_exist ...

  3. linux 正则表达式 使用grep命令

    最常应用正则表达式命令是 awk sed grep [root@MongoDB ~]# cat mike.log I am mike! I like linux. I like play footba ...

  4. 快速掌握grep命令及正则表达式

    Linux系统自带了支持拓展正则表达式的 GNU 版本 grep 工具,所有的Linux发行版中均默认安装grep ,grep 命令被用来检索一台服务器或工作站上任何位置的文本信息,如何在 Linux ...

  5. Linux学习笔记之grep命令和使用正则表达式

    0x00 正则表达式概述 正则表达式是描述一些字符串的模式,是由一些元字符和字符组成的字符串,而这些元字符是一些表示特殊意义的字符,即被正则表达式引擎表达的字符表示与其本意不同的一些字符. 0x01  ...

  6. 通过 mysqlbinlog 和 grep 命令定位binlog文件中指定操作

    1.binlog日志基本知识 MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗 ...

  7. Linux grep 命令中的正则表达式详解

    在 Linux .类 Unix 系统中我该如何使用 Grep 命令的正则表达式呢? Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式(extended regular expres ...

  8. grep命令及基本正则表达式

    grep命令是Linux系统中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功 ...

  9. 07 grep命令与正则表达式

    grep命令 首先我们知道grep命令是用来做文件内容过滤的!如果你要在文件中查找一些对应的内容,我们如何来过滤找到其中我们需要符合条件的内容呢?grep命令结合正则表达式就可以实现: grep.eg ...

随机推荐

  1. golang自动导入postgresql脚本

    直接代码 package main import ( "fmt" "golang-objective-go/dataFoundation/dataConvert" ...

  2. xorm使用pgsql的例子

    测试表 /* Navicat Premium Data Transfer Source Server : localhost Source Server Type : PostgreSQL Sourc ...

  3. rsync 无密码 传输

    1.通过ssh执行rsync(需要密码) 通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器.下面这个例子将本地的/home/ramesh同步到远程目录/backup/ramesh( ...

  4. 【maven】之使用jetty发布web项目

    <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin ...

  5. 【freemaker】之Unknown built-in variable: now

    Caused by: freemarker.core.ParseException: Unknown built-in variable: now 意思是没有内置变量,看了一下源码2.3.15版本fr ...

  6. gcc链接参数--whole-archive的作用

    // a.h extern void foo(); // a.cpp #include <stdio.h> void foo() { printf("foo\n"); ...

  7. linux 屏幕亮度调节

    Brightness sudo gedit  /etc/default/grub find this  line  :   GRUB_CMSLINE_LINUX_DEFAULT="quiet ...

  8. windows下boost库的基本使用方法

    因为boost都是使用模板的技术,所以所有代码都是写在一个.hpp头文件中.这样boost中的大部分内容是不需要编译生成相应的链接库,只需要设置下面的包含目录(或者设置一下环境变量),在源文件中包含相 ...

  9. HTML5与HTML4的区别

    一.推出的理由及目标 web浏览器之间的兼容性很低 文档结构不够明确 web应用程序的功能受到了限制 二.语法的改变 内容类型 文件扩展名html htm  内容类型 texthtml   二者不变 ...

  10. vs2012出现无法启动iis express web 服务器的错误

    一直用的好好的,今天调试时却总报上面的错误.“文件查看器”->"windows 日志"->"系统"里发现有几条“HttpEvent”错误, 具体信息 ...