介绍grep文本处理命令,它也可以解释正则。

常用选项:
  -E :开启扩展(Extend)的正则表达式。
  -i :忽略大小写(ignore case)。
  -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
  -n :显示行号
  -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker
     -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
  -o :只显示被模式匹配到的字符串。
  --color :将匹配到的内容以颜色高亮显示。
  -A  n:显示匹配到的字符串所在的行及其后n行,after
  -B  n:显示匹配到的字符串所在的行及其前n行,before
  -C  n:显示匹配到的字符串所在的行及其前后各n行,context
       -q : 静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容
       -w :匹配单词,单词的意思是特殊符号隔开的英文字母组合,对象中的正则表达式都会当成单词(前后有特殊符号)。
   
grep种类
grep   全面搜索正则表达式并把行打印出来
fgrep   它搜索字符串而不是搜索匹配表达式的模式。fgrep 命令使用快速的压缩算法。$, *, [, |, (, )和\等字符串被 fgrep 命令按字面意思解释。这些字符并不解释为正则表达式
pgrep   以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。
egrep   用于在文件内查找指定的字符串。egrep执行效果与grep -E相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。

正则介绍

1.定义变量边界

[root@master ~]# test=30
[root@master ~]# echo ${test}%
30%

2.运算符
算术运算符:+、-、*、/、%

[root@master ~]# echo $[3+3]
6

3.关系操作:与(())连用
<    >     <=     >=     ==     !=     &&     ||

[root@master ~]# x=2
[root@master ~]# [ $x -gt 1 ]
[root@master ~]# echo $?
0

4.shell中的计算器

[root@master ~]# echo 'scale=2;1/3'|bc -l
.33
[root@master ~]# echo 'scale=3;1/3'|bc -l
.333

5.查找一个文件中空行

[root@master ~]# more test
hello world the line 3 two [root@master ~]# grep -c "^$" test
2

6.查找在“hello”有任意长度字串的行

[root@master ~]# grep ".*hello" test
hello world

7.查找含有特殊字符

[root@master ~]# grep "192\.168\.1\.1" test
192.168.1.1 ip

8.不显示本身进程

[root@master ~]# ps -ef|grep /usr/lib/systemd/systemd |grep -v "grep"
root 1 0 0 14:34 ? 00:00:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 604 1 0 14:34 ? 00:00:00 /usr/lib/systemd/systemd-journald
root 647 1 0 14:34 ? 00:00:01 /usr/lib/systemd/systemd-udevd
root 854 1 0 14:34 ? 00:00:00 /usr/lib/systemd/systemd-logind

9.查看以字符h开头的

[root@master ~]# cat test|grep ^h
hello world

10输出ip

[root@master ~]# ifconfig ens33 |grep -E "([0-9]{1,3}\.){3}[0-9]"
inet 192.168.1.200 netmask 255.255.255.0 broadcast 192.168.1.255

11.输出包含he和ld 的行

[root@master ~]# cat test|grep -E "he|ld"
hello world
the line 3

12.查看文件中小写字母连续有5个以上的字符

[root@master ~]# grep '[a-z]\{5\}' test
hello world
asdfghjjkl

13.匹配到的字符用颜色显示出来

[root@master ~]# grep --color "hello" test
hello world

Linux中的grep 命令的更多相关文章

  1. Unix/Linux中的grep命令(转)

    本文转载自:如何使用Unix/Linux grep命令——磨刀不误砍柴工系列.该博文条理很清晰. grep简介 grep在一个或多个文件中查找与模式字符串(pattern)匹配的行,并将搜索的结果打印 ...

  2. Linux中利用grep命令如何检索文件内容详解

    前言 Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索.下面来一起看看Linux利用grep命令检索文件内容的详细介绍. 方法 ...

  3. Linux中通过grep命令检索文件内容和指定内容前后几行

    原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...

  4. Linux 中的 grep 命令

    一,grep命令有什么用 个人觉得grep命令就是一个对文本或输出进行匹配并控制输出的一个工具,看一下下面的参数,部分翻译了,有不对的地方,还请指正: grep --help 匹配模式选择: -E,  ...

  5. Linux 中的grep命令单引号,不加任何参数以及双引号的作用

    单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么.单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换. 双引号: 把双引号内的 ...

  6. linux中的grep命令用法

    原文请移驾:http://blog.csdn.net/greytree/article/details/428532 grep -- print lines matching a pattern (将 ...

  7. Linux中的grep命令

    grep - print lines matching a pattern 参数: -a 将binary文件以text文件的方式查找 -i 忽略大小写 --color=zuto 加颜色匹配字符串 -v ...

  8. linux中的strings命令简介2

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 之前我们聊过linux strings的用法和用 ...

  9. linux中的strings命令简介

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 在linux下搞软件开发的朋友, 几乎没有不知道 ...

随机推荐

  1. 五十二:WTForms表单验证之基本使用

    作用:1.做表单验证,把用户提交的数据验证是否合法2.做模板渲染 安装:pip install wtforms 表单验证1.自定义一个表单类,继承wtforms.Form2.定义好需要验证的字段,字段 ...

  2. Angularjs E2E test Report/CoverageReport - 使用Gulp

    上一篇(http://www.cnblogs.com/xiaoningz/p/7122633.html)使用grunt-protractor-coverage 做为覆盖率测试插件,如果项目的管理工具刚 ...

  3. pyqt5在QMainWindow中布局的问题

    在pyqt5中使用了父类为QMainWindow的话,在里面使用布局类,QGridLayout, QHBoxLayout ,QVBoxLayout 时,发现不好用. 解决: 如果是在以QWidget为 ...

  4. kubernetes学习:CKA考试认证

    考点 CKA认证针对考核成为当业界的Kubernetes管理员所需的技能. CKA认证考试包括这些一般领域及其在考试中的权重: 应用程序生命周期管理 -  8% 安装.配置和验证 -  12% 核心概 ...

  5. 【JVM学习笔记】打破双亲委托机制的例子

    Tomcat也有自己的类加载器,比如Servlet,这些类加载器就改变了双亲委托模型的默认机制 (该主题有待深入)

  6. C#反射动态创建实例并调用方法

    在.Net 中,程序集(Assembly)中保存了元数据(MetaData)信息,因此就可以通过分析元数据来获取程序集中的内容,比如类,方法,属性等,这大大方便了在运行时去动态创建实例. MSDN解释 ...

  7. SSO单点登录统一身份认证系统

    什么是单点登录 简单点说就是公司有A,B两个系统,我登录了A系统之后再跳转到B系统可以直接访问,而不需要再次登录B系统. 几种常见的单点登录实现方式 在讲解单点登录之前先讲解几个基本的概念: Cook ...

  8. 【HANA系列】【第六篇】SAP HANA XS使用JavaScript(JS)调用存储过程(Procedures)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第六篇]SAP HANA XS ...

  9. Eclipse新建新的工作空间,将原有的配置全部或部分复制

    1.部分复制 File->Switch workspace->Other...,按下图选择 只复制简单的配置,如cvs之类的信息是不会复制的. 2.全部复制(build path) 在1. ...

  10. 【转载】softmax的性质及其实现

    原文地址:https://segmentfault.com/a/1190000010039529?utm_source=tag-newest softmax函数将任意n维的实值向量转换为取值范围在(0 ...