shell编程系列8--文本处理三剑客之grep和egrep
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的更多相关文章
- shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容
shell编程系列11--文本处理三剑客之sed利用sed删除文本中的内容 删除命令对照表 命令 含义 1d 删除第一行内容 ,10d 删除1行到10行的内容 ,+5d 删除10行到16行的内容 /p ...
- shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句
shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...
- shell编程系列14--文本处理三剑客之awk的概述及常用方法总结
shell编程系列14--文本处理三剑客之awk的概述及常用方法总结 awk是一个文本处理工具,通常用于处理数据并生成结果报告 awk的命名是它的创始人 Alfred Aho.Peter Weinbe ...
- shell编程系列12--文本处理三剑客之sed利用sed修改文件内容
shell编程系列12--文本处理三剑客之sed利用sed修改文件内容 修改命令对照表 编辑命令 1s/old/new/ 替换第1行内容old为new ,10s/old/new/ 替换第1行到10行的 ...
- shell编程系列10--文本处理三剑客之sed利用sed查询特定内容
shell编程系列10--文本处理三剑客之sed利用sed查询特定内容 利用sed查找文件内容: pattern种类: .8p .,10p .,+5p ./regexp/p .,/regexp/p . ...
- shell编程系列9--文本处理三剑客之sed概述及常见用法总结
shell编程系列9--文本处理三剑客之sed概述及常见用法总结 sed的工作模式:对文本的行数据一行行处理,如下图 sed(stream editor),是流编辑器,依据特定的匹配模式,对文本逐行匹 ...
- shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计
shell编程系列21--文本处理三剑客之awk中数组的用法及模拟生产环境数据统计 shell中的数组的用法: shell数组中的下标是从0开始的 array=("Allen" & ...
- shell编程系列20--文本处理三剑客之awk常用选项
shell编程系列20--文本处理三剑客之awk常用选项 awk选项总结 选项 解释 -v 参数传递 -f 指定脚本文件 -F 指定分隔符 -V 查看awk的版本号 [root@localhost s ...
- shell编程系列19--文本处理三剑客之awk中的字符串函数
shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) ...
随机推荐
- "人工智能",你怕了吗?
近期“人工智能+”,已经是市场上非常火的一个风口,人工智能已经渗透到人类生活的方方面面,服务于我们的生活.但是人工智能的迅速发展,也引起了我的担忧,一系列科技电影展示出来的人工智能奴役人类的场景,让人 ...
- 题解 UVa10780
题目大意 多组数据,每组数据给定两个整数 \(m,n\),输出使 \(n\%m^k=0\) 的最大的 \(k\).如果 \(k=0\) 则输出Impossible to divide. 分析 计数水题 ...
- SpringBoot第一次案例(以及jar包的生成)
一.Springboot简介 Springboot框架就用于简化Spring应用的开发,约定大于配置,去繁从简.从以往的“Spring全家桶时代”正式过渡到”Spring boot,J2EE一站式解决 ...
- DVWA-弱会话ID
本周学习内容: 1.学习web安全深度剖析: 2.学习安全视频: 3.学习乌云漏洞: 4.总结Web应用安全权威指南: 实验内容: 进行DVWA弱会话ID实验 实验步骤: Low 1.打开DVWA,进 ...
- c语言数组的概念和指针的加减使用
//数组变量名:就是一个地址:就是数组首元素的地址#include <stdio.h> int main(void) { int age[5] = {10,50,100,22,44}; / ...
- 在Modelsim中使用dsp 48e进行仿真
在Modelsim中使用DSP 48E仿真时,需要用到glbl模块,它的调用方法如下所示: vlog -incr GND.v VCC.v FDRE.v DSP48E.vvlog -incr glbl. ...
- Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法
Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法 env WINEPREFIX="/home/landv/.deepinwine/Deepin-QQ" deep ...
- UOJ#221. 【NOI2016】循环之美 数论,杜教筛
原文链接www.cnblogs.com/zhouzhendong/p/UOJ221.html 题解 首先把题目转化为求 \[\sum_{x=1}^n \sum_{y=1}^m [\gcd(x,y) = ...
- ubuntu 14.04 系统配置磁盘,CPU,内存,硬盘信息查看
Linux查看物理CPU个数.核数.逻辑CPU个数# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看分区磁盘 ...
- docker安装postgresql
1.在linux执行以下代码: docker run -p : -v /home/docker/postgresql/data:/var/lib/postgresql/data -e POSTGRES ...