Linux操作_grep/egrep工具的使用
一、grep命令介绍
命令格式:grep [-cinvABC] ‘word’ filename,常用选项如下:
- -c:表示打印符合要求的行数。
- -i:表示忽略大小写。
- -n:表示输出符合要求的行及其行号。
- -v:表示打印不符合要求的行。
- -A:后面跟一个数字(有无空格都可以),例如-A2表示打印符合要求的行以及下面两行。
- -B:后面跟一个数字,例如-B2表示打印符合要求的行以及上面两行。
- -C:后面跟一个数字,例如-C2表示打印符合要求的行以及上下各两行。

二、过滤出带有某个关键词的行,并输出行号

说明:前面的数字显示为绿色,表示行号。
三、过滤出不带有某个关键字的行,并输出行号

四、过滤出所有包含数字的行

说明:只要有一个数字就算匹配到了。
五、过滤出所有不包含数字的行

说明:只要包含一个数字,就不显示。
六、过滤掉所有以#开头的行

说明:这里面是包含有空行的。
七、过滤掉所有空行和以#开头的行

在正则表达式中,^表示行的开始,$表示行的结尾,^$表示空行。
如何打印出不以英文字母开头的行?示例如下:

说明:如果要过滤数字就用[0-9]这样的形式(当遇到类似[15]的形式时表示只含有1或者5)。如果要过滤数字以及大小写字母,则要写成类似[0-9a-zA-Z]的形式。另外,[^字符]表示除[ ]内字符之外的字符。
注意:把^写到方括号里面和外面是有区别的。
八、过滤出任意一个字符和重复字符

.表示任意一个字符。上例中,r.o表示把r与o之间有一个任意字符的行过滤出来。

*表示零个或多个*前面的字符。上例中,ooo*表示oo、ooo、oooo...或者更多的o。

上例中,.*表示零个或多个任意字符,空行也包含在内,它会把/etc/passwd文件里面的所有行都匹配到。
九、指定要过滤出的字符出现字数

说明:符号{ },其内部为数字,表示前面的字符要重复的次数。
注意(划重点):{ }左右都需要加上转义字符\。另外,使用“{ }”还可以表示一个范围,具体格式为{n1,n2},其中n1 < n2,表示重复n1到n2次前面的字符,n2还可以为空,这时表示大于等于n1次。
十、过滤出一个或多个指定的字符(开始使用egrep命令)

说明:egrep命令使用的是符号+,它表示匹配1个或多个+前面的字符,这个“+”不支持被grep命令直接使用;{ }可以直接被egrep使用,而不用加 \ 转义。例如:

十一、过滤出零个或一个指定的字符

十二、过滤出字符串1或者字符串2

十三、egrep中( )的使用

说明:这里用( )表示一个整体,上例中会把包含rooo或者rato的行过滤出来。
另外说明:还可以把( )和其他符号组合在一起,例如:

Linux操作_grep/egrep工具的使用的更多相关文章
- [转帖]linux操作系统测试工具
linux操作系统测试工具 http://cfdtesting.com/879156.html 作者: minions_222 来源: CFDTesting.com采编 发布于: ...
- Linux资源监控命令/工具(综合)
目录: ps pstree pidof top free uptime ifuser lsof mpstat vmstst pidstat iostat iotop watch sar 1.ps 1) ...
- linux 两个查找工具 locate,find详解
linux 中有很多查找工具,今天主要讲解locate,find两个工具. 1.locate (1)查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 注意:如果这 ...
- Linux的文本处理工具浅谈-awk sed grep
Linux的文本处理工具浅谈 awk 老大 [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS ...
- linux 两个查找工具 locate,find
linux 中有很多查找工具,今天主要讲解locate,find两个工具. 一.locate 1.性能介绍 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 注意 ...
- Linux操作系统主机名(hostname)简介
http://www.jb51.net/LINUXjishu/10938.html 摘要:本文是关于Linux操作系统主机名(hostname)的文档,对主要配置文件/etc/hosts进行简要的说明 ...
- Linux常用的安全工具 转自https://yq.aliyun.com/articles/52540?spm=5176.100239.blogcont24250.8.CfBYE9
摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chenguang.blog.51cto.com/350944/85790 ...
- windows下运行的linux服务器批量管理工具(带UI界面)
产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...
- [转]12款最佳Linux命令行终端工具
摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...
随机推荐
- HTML5学习笔记(二十五):事件
在浏览器或文档某个元素发生某个特定情况的瞬间,会作为一个事件进行广播,我们可以对其添加监听来处理特定的事件. 事件流 事件流描述了页面中接收事件的顺序. 整个事件流包含了三个阶段:事件捕获阶段.事件目 ...
- 递归分治算法之二维数组二分查找(Java版本)
[java] /** * 递归分治算法学习之二维二分查找 * @author Sking 问题描述: 存在一个二维数组T[m][n],每一行元素从左到右递增, 每一列元素从上到下递增,现在需要查找元素 ...
- angular.js测试框架protracotr安装所需的node版本
protractor内代码的语法是基于ES6的,比如:里面用到了展开运算符“...”,node.js 6.0以下是不支持该语法特性. 所以,安装protractor是不会报错,但运行webdriver ...
- bash(3):遍历文件
#!/bin/bash function getdir(){ ` do dir_or_file=$"/"$element if [ -d $dir_or_file ] then g ...
- Frick'ing Terrain Mesh!
CDLOD地形的实现方法步骤: 1.实现完全二叉树结构的创建2.实现完全四叉树的视锥裁剪与LOD选择(包括节点的部分选择功能)3.使用forward rendering, 实现已选择四叉树节点的普通渲 ...
- CentOS下使用crontab+mysqldump实现定时自动备份数据库
一 : 为什么要进行数据库的备份? 最主要的原因:尽可能地减少损失,包括时间上.精神上和金钱上的损失.很多人都不注意备份数据,以致在发生问题后丢失大量的重要数据.要知道,在地球上网是很危险的,即使做好 ...
- DIOCP开源项目-Delphi高性能无锁队列(lock-free)
最近想在DIOCP中加入任务调度线程,DIOCP的工作线程作为生产者(producer)将接受到的数据对象,投递到任务调度线程中,然后统一进行分配.然而这一切都需要一个队列, 这几天都在关注无锁队列. ...
- 【C/C++】嵌入式程序员应该知道的0X10个C语言问题
一.预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 6 ...
- Java获取 ISO 8601格式时间
https://blog.csdn.net/fang323619/article/details/74909587 ****************************************** ...
- c#去除字符串中的空格,回车,换行符,制表符
string l_strResult = str.Replace("\n", "").Replace(" ","").R ...