用法

grep [OPTIONS] PATTERN  [FILE...]
grep [OPTIONS] -e PATTERN ... [FILE...]
grep [OPTIONS] -f FILE ... [FILE...]

grep在文件中查找匹配正则表达式的内容,默认打印出匹配的一行

选项

-E 支持扩展正则表达式
-F 把PATTERN解析成简单的字符串,而不是正则表达式
-G 只支持基础正则表达式,这是默认选项
-P 支持perl正则表达式

使用文件grp.txt为演示

$ cat grp.txt
{"id":, "username": "jack", "email": "459874@qq.com"}
{"res":[,,,]}
baidu in beijing
didi in beijing
ali in hangzhou
tencent in shenzhen
huawei in shenzhen

-e PATTERN, 使用-e选项可以匹配多个条件

-f FILE, 从文件中获取PATTERN
-i 忽略大小写
-v 反向匹配,只选择未匹配的

-w 匹配整个单词
-x 匹配整行

可以看到 -x 选项和 grep  '^h.*en$' grp.txt 等价

-c 不打印结果,只打印匹配到的行数
--color 匹配到的表达式高亮显示
-L 打印出未匹配的文件列表
-l 打印出匹配的文件列表
-m 指定最大匹配行数

-o 只打印匹配到的字符串,而不是打印一整行


-q 不打印结果,但是我们可以根据$?来判断是否有匹配到,在脚本中常用
-s 不打印错误结果(文件不存在、不可读文件)

-b  打印本行在文件中的字节偏移量

-H 打印匹配的文件名。当有多个文件匹配到的时候,这个是默认选项

-h 不打印文件名

-n 输出行号

--label 显示输入的时候用到,让标准输入STDIN的显示像从文件中读取的一样

-T 输出按照tab缩进

-Z 在文件名后输出 zero byte, 也就是啥都不输出

-A NUM 在匹配行后面再输出 NUM 行内容

-B NUM 在匹配行前面再输出 NUM 行内容

-C NUM 在匹配行前后各输出 NUM 行内容

--exclude=GLOB

--exclude-from=FILE

--exclude-dir=GLOB

这三个是跳过文件或目录

--include=GLOB 只处理匹配 GLOB 的文件

grep用法小结的更多相关文章

  1. [转]ssh常用用法小结

    ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...

  2. ssh常用用法小结

    ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...

  3. 转载:Hadoop排序工具用法小结

    本文转载自Silhouette的文章,原文地址:http://www.dreamingfish123.info/?p=1102 Hadoop排序工具用法小结 发表于 2014 年 8 月 25 日 由 ...

  4. [No000010]Ruby 中一些百分号(%)的用法小结

    #Ruby 中一些百分号(%)的用法小结 #这篇文章主要介绍了Ruby 中一些百分号(%)的用法小结,需要的朋友可以参考下 what_frank_said = "Hello!"#% ...

  5. C++ typedef用法小结 (※不能不看※)

    C++ typedef用法小结 (※不能不看※) 第一.四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如:char* pa, pb; // 这多数不 ...

  6. 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

    函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...

  7. 1:CSS中一些@规则的用法小结 2: @media用法详解

    第一篇文章:@用法小结 第二篇文章:@media用法 第一篇文章:@用法小结 这篇文章主要介绍了CSS中一些@规则的用法小结,是CSS入门学习中的基础知识,需要的朋友可以参考下     at-rule ...

  8. 英语语法最终珍藏版笔记- 21it 用法小结

    it 用法小结 it 在英语中的意思较多,用法较广,现总结如下. 一.it作句子的真正主语 1.it 指前面已经提到过的人或事物,有时指心目中的或成为问题的人或事物,作真正主语. 例如: What’s ...

  9. 结构体定义 typedef struct 用法详解和用法小结

    typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便.具体区别在于:若struct node {}这样来定义结构体的话.在申请node 的变量时,需要这样写,stru ...

随机推荐

  1. hadoop使用

    hadoop@ubuntu:~$ cd hadoop-2.0.5-alpha/ hadoop@ubuntu:~/hadoop-2.0.5-alpha$ ls hadoop@ubuntu:~/hadoo ...

  2. 【Leetcode】【Easy】Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space. 判断一个整数是不是回文整数(例12321).不能使 ...

  3. Centos7安装JDK1.8 Linux64bit

    流程一览: 1.下载JDK1.8(jdk-8u11-linux-x64.tar.gz) 2. 解压缩安装 3.配置JAVA_HOME环境变量 4.切换JDK1.8为当前使用的JDK 5.重启,查看安装 ...

  4. June 07th 2017 Week 23rd Wednesday

    Failure is the condiment that gives success its flavor. 失败是让成功变美味的调味料. There are kinds of flavors in ...

  5. Opencv4android的Android Studio环境配置及项目实例下载

    因为软件竞赛的项目会用到Opencv for Android,所以就研究了一下如何在Android Studio上配置Opencv4Android 环境概述: Android Studio 2.3 O ...

  6. 如何使用Kubernetes的configmap通过环境变量注入到pod里

    在Kubernetes官网里,有这样一篇文章,提到了Kubernetes里的一个最佳实践就是把应用代码同配置信息分开,一种方式就是使用Kubernetes 1.2里引入的configmap概念. ht ...

  7. 日期的压缩存储daybits

    问题: 存储一个日期的序列,例如保存用户一年的登录时间序列,20140201,20130102这样两个日期,如果用INT那么需要八个字节,用STRING就更多了. 解决: 通过bit来存储一天,具体的 ...

  8. IOS 集成友盟分享

    #import <Foundation/Foundation.h> @interface UMSocialSinaHandler : NSObject +(void)openSSOWith ...

  9. mysqlbinlog用法总结

    通过binlog日志统计dml语句,找出操作频繁的表 mysqlbinlog --no-defaults --base64-output=decode-rows -v -v   mysql-bin.0 ...

  10. python 用cookie模拟登陆网站

    import re import requests def get_info(url): headers = { "Cookie" :"***************** ...