grep和egrep

第一种形式:grep [option] [pattern] [file1,file2...]

第二种形式:command | grep [option] [pattern]

grep参数

选项    含义
-v 不显示匹配行信息
-i 搜索时忽略大小写
-n 显示行号
-r 递归搜索
-E 支持扩展正则表达式
-F 不按正则表达式匹配,按照字符串字面意思匹配
不常用选项
-c 只显示匹配行总数
-w 匹配整词
-x 匹配整行
-l 只显示文件名,不显示内容
-s 不显示错误信息
grep和egrep:
grep语法格式
grep [option] [pattern] [file1,file2...]
必须掌握的选项:
-v 显示不匹配pattern的行
-i 搜索时忽略大小写
-n 显示行号
-E 支持扩展的正则表达式
-F 不支持正则表达式,按字符串的字面意思进行匹配
-r 递归搜索
需要了解的选项:
-c 只输出匹配行的数量,不显示具体内容
-w 匹配整词
-x 匹配整行
-l 只累出匹配的文件名,不显示具体匹配行内容 grep和egrep:
grep默认不支持扩展正则表达式,只支持基础正则表达式 使用grep -E可以支持扩展正则表达式 使用egrep可以支持扩展正则表达式,与grep -E等价 # 示例 # 显示file中有python的行
[root@es01 ~]# cat file
i love python
hello python
aaa bbb
I LOVE PYTHON
HELLO PYTHON
PYTHON IS A AI LANGUAGE
end [root@es01 ~]# grep python file
i love python
hello python # 没有python的行,不忽略大小写
[root@es01 ~]# grep -v python file
aaa bbb
I LOVE PYTHON
HELLO PYTHON
PYTHON IS A AI LANGUAGE
end # 没有python的行,忽略大小写
[root@es01 ~]# grep -vi python file
aaa bbb
end # 查找/etc/man_db.conf 中带man的行,在文件中的行号
[root@es01 ~]# grep -n man /etc/man_db.conf
:# This file is used by the man-db package to configure the man and cat paths.
:# It is also used to provide a manpath for those without one by examining
:# their PATH environment variable. For details see the manpath() man page.
:# MANDATORY_MANPATH manpath_element
:# MANPATH_MAP path_element manpath_element
:# MANDB_MAP global_manpath [relative_catpath]
:#MANDATORY_MANPATH /usr/src/pvm3/man
:MANDATORY_MANPATH /usr/man
:MANDATORY_MANPATH /usr/share/man
:MANDATORY_MANPATH /usr/local/share/man
:# ie. what man tree holds man pages for what binary directory.
:MANPATH_MAP /bin /usr/share/man
:MANPATH_MAP /usr/bin /usr/share/man
:MANPATH_MAP /sbin /usr/share/man
:MANPATH_MAP /usr/sbin /usr/share/man
:MANPATH_MAP /usr/local/bin /usr/local/man
:MANPATH_MAP /usr/local/bin /usr/local/share/man
:MANPATH_MAP /usr/local/sbin /usr/local/man
:MANPATH_MAP /usr/local/sbin /usr/local/share/man
:MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man
:MANPATH_MAP /usr/bin/X11 /usr/X11R6/man
:MANPATH_MAP /usr/games /usr/share/man
:MANPATH_MAP /opt/bin /opt/man
:MANPATH_MAP /opt/sbin /opt/man
... # -E 支持扩展正则表达式选项
[root@es01 ~]# cat file
i love python
hello python
aaa bbb
I LOVE PYTHON
HELLO PYTHON
PYTHON IS A AI LANGUAGE
end [root@es01 ~]# grep "python|PYTHON" file
[root@es01 ~]# grep -E "python|PYTHON" file
i love python
hello python
I LOVE PYTHON
HELLO PYTHON
PYTHON IS A AI LANGUAGE
[root@es01 ~]# # 只显示匹配到的行数
[root@es01 ~]# grep -c python file [root@es01 ~]# grep -c man /etc/man_db.conf # 匹配python或者PYTHON
[root@es01 ~]# grep -E "python|PYTHON" file
i love python very
hello python
I LOVE PYTHON
HELLO PYTHON
PYTHON IS A AI LANGUAGE
lovelove python
[root@es01 ~]# egrep "python|PYTHON" file
i love python very
hello python
I LOVE PYTHON
HELLO PYTHON
PYTHON IS A AI LANGUAGE
lovelove python

shell编程系列8--文本处理三剑客之grep和egrep的更多相关文章

  1. shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容

    shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容 删除命令对照表 命令 含义 1d 删除第一行内容 ,10d 删除1行到10行的内容 ,+5d 删除10行到16行的内容 /p ...

  2. shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句

    shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...

  3. shell编程系列14--文本处理三剑客之awk的概述及常用方法总结

    shell编程系列14--文本处理三剑客之awk的概述及常用方法总结 awk是一个文本处理工具,通常用于处理数据并生成结果报告 awk的命名是它的创始人 Alfred Aho.Peter Weinbe ...

  4. shell编程系列12--文本处理三剑客之sed利用sed修改文件内容

    shell编程系列12--文本处理三剑客之sed利用sed修改文件内容 修改命令对照表 编辑命令 1s/old/new/ 替换第1行内容old为new ,10s/old/new/ 替换第1行到10行的 ...

  5. shell编程系列10--文本处理三剑客之sed利用sed查询特定内容

    shell编程系列10--文本处理三剑客之sed利用sed查询特定内容 利用sed查找文件内容: pattern种类: .8p .,10p .,+5p ./regexp/p .,/regexp/p . ...

  6. shell编程系列9--文本处理三剑客之sed概述及常见用法总结

    shell编程系列9--文本处理三剑客之sed概述及常见用法总结 sed的工作模式:对文本的行数据一行行处理,如下图 sed(stream editor),是流编辑器,依据特定的匹配模式,对文本逐行匹 ...

  7. shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计

    shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计 shell中的数组的用法: shell数组中的下标是从0开始的 array=("Allen" & ...

  8. shell编程系列20--文本处理三剑客之awk常用选项

    shell编程系列20--文本处理三剑客之awk常用选项 awk选项总结 选项 解释 -v 参数传递 -f 指定脚本文件 -F 指定分隔符 -V 查看awk的版本号 [root@localhost s ...

  9. shell编程系列19--文本处理三剑客之awk中的字符串函数

    shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) ...

随机推荐

  1. linux系统编程之文件与io(二)

    今天继续学习文件与io,话不多说,开始进入正题: 文件的read和write系统调用: 说明:函数中出现在size_t和ssize_t是针对系统定制的数据类型:     下面以一个实现文件简单拷贝的示 ...

  2. php5.6 的mcrypt_encrypt 函数可以和5.5.9的行为一样

    php5.5.9 -----------------------$output = "test  php !!" $key = "abcd123456789"; ...

  3. 用 Python 加密文件

    生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库. 但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而 ...

  4. C#使用托管程序连接Oracle数据库(Oracle.ManagedDataAccess.dll)

    一.概述 Oracle Data Provider for  .NET, Managed Driver: Oracle官方的托管数据库访问组件,单DLL,Oracle.ManagedDataAcces ...

  5. Linux下dstat的安装(适用任何版本)

    dstat下载地址:https://pan.baidu.com/s/1jHTEoWe 1.上传后,解压: 2.进入解压后的目录:cd dstat-0.7.3/ 3.make 4.make instal ...

  6. Java中复合赋值运算符自动进行强制类型转换

    public class Operation { public static void main(String[] args) { int num1 = 10; num1 = num1 / 2.2; ...

  7. Requset作用域

    案例:当登陆密码或账号不正确时 提示 使用Requset对象中的作用域存储数据 语法:req.setAttribute(key, value);//键值对存在 当密码不存在时,设置作用域 else { ...

  8. sublime test 3 配置安装fortran开发环境

    1.ST3下安装包管理工具Package Control https://jingyan.baidu.com/article/3c343ff7dca2b10d3779633b.html ST主界面下c ...

  9. LOJ P10176 最大连续和 题解

    每日一题 day29 打卡 Analysis 朴素的DP方程为: dp[i]=max{sum[i]-sum[j-1]}; 对于每个i 需要用单调队列维护最小的sum[j-1] 注意: 1.tail初值 ...

  10. mage Ansible学习3 ansible role实例

    一.ansible配置文件解析 1./etc/ansible/ansible.cfg配置文件详解 [root@node3 ~]# cat /etc/ansible/ansible.cfg |grep ...