Linux下高效实用的grep命令
Linux系统中的grep命令是一种功能强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
1、语法参数
grep [options]
[options]主要参数:
-c:只输出匹配行的计数。
-i:表示不区分大小写。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行,表示反向查找。
--color=auto :可以将找到的关键词部分加上颜色的显示
2、实例:
1)查找包含“png”的行
[linuxmi@linux:~/linuxmi迷]$ grep -n 'png' linuxmi.py
2)查找不包含“png”的行
[linuxmi@linux:~/linuxmi迷]$ grep -vn 'png' linuxmi.py
3)查询na前面不是v的字符串
[linuxmi@linux:~/linuxmi迷]$ grep -n '[^v]na' linuxmi.py
4)查询na前面不是小写字母的字符串
[linuxmi@linux:~/linuxmi迷]$ grep -n '[^a-z]na' linuxmi.py
5)^匹配以某个字符开头的行。查询以ba开头的字符串
[linuxmi@linux:~/linuxmi迷]$ grep -n '^ba' linuxmi.py
6)[^]匹配未包含的一个任意字符。查询不以字母开头的字符串
[linuxmi@linux:~/linuxmi迷]$ grep -n '^[^a-zA-Z]' linuxmi.py
7)$匹配以某个字符结尾的行。查询以:结尾的字符串
[linuxmi@linux:~/linuxmi迷]$ grep -n '\.$' linuxmi.py
其中小数点“.”具有特殊意义,所以需要使用转义字符“\”将具有特殊意义的字符转化为普通字符
8)“.”匹配除\r\n外的任意一个字符。查询l与k之间包含两个字符的行
[linuxmi@linux:~/linuxmi迷]$ grep -n 'l..k' linuxmi.py
9)查询包含连续e字母的行
[linuxmi@linux:~/linuxmi迷]$ grep -n 'eee*' linuxmi.py
“*”表示的是重复零个或多个前面的单字符
10)查询以l开头以e结尾中间至少包含一个x的行
[linuxmi@linux:~/linuxmi迷]$ grep -n 'lxx*e' linuxmi.py
11)查询以l开头k结尾,中间的字符可有可无的行
[linuxmi@linux:~/linuxmi迷]$ grep -n 'l.*k' linuxmi.py
12){n}匹配确定的n次。查询包含两个e的行
[linuxmi@linux:~/linuxmi迷]$ grep -n 'e\{2\}' linuxmi.py
“{}”是特殊字符需要用“\”转义
来源:
https://urlify.cn/zaYrei
Linux下高效实用的grep命令的更多相关文章
- [转帖]linux下的find文件查找命令与grep文件内容查找命令
linux下的find文件查找命令与grep文件内容查找命令 https://www.cnblogs.com/shileima/p/8431393.html 在使用linux时,经常需要进行文件查找. ...
- linux下维护服务器之常用命令
linux下维护服务器之常用命令! 第1套如下: 正则表达式: 1.如何不要文件中的空白行和注释语句: [root@localhost ~]# grep -v '^$' 文件名 |grep -v '^ ...
- linux下常用的日志分析命令
linux下常用的日志分析命令 本文介绍下,在linux中常用的一些分析日志的命令行或脚本,有需要的朋友参考下. 形如下面这样的access.log日志内容: 211.123.23.133 ...
- Linux下几种文件传输命令
Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...
- [转帖]Linux下主机间文件传输命令
Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs SCP命令: ...
- Linux下几种文件传输命令 sz rz sftp scp
Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...
- [原创] Linux下几种文件传输命令 sz rz sftp scp介绍
Linux下几种文件传输命令 sz rz sftp scp介绍 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等 ...
- Linux下高效数据恢复软件extundelete应用实战
作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速.有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几 ...
- Ubuntu Linux下设置IP的配置命令
Ubuntu Linux下设置IP的配置命令 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如 ...
随机推荐
- java的jsr303校验
因为是菜鸡,所以就还没有具体了解jsr303具体是什么 JSR是Java Specification Requests的缩写,意思是Java 规范提案.是指向JCP(Java Community Pr ...
- 不同版本的 Spring Framework 有哪些主要功能?
Version Feature Spring 2.5 发布于 2007 年.这是第一个支持注解的版本. Spring 3.0 发布于 2009 年.它完全利用了 Java5 中的改进,并为 JEE6 ...
- 学习Walle(一)
一.概述 Walle 一个web部署系统工具,配置简单.功能完善.界面流畅.开箱即用!支持git.svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布.回滚,可以通过we ...
- 学习zabbix(四)
一. 监控知识 1.硬件监控: 机房巡检,远程控制卡,IPMI 2.系统监控: cpu负载查看(指标):uptime(低于3),top(30%-70%), vmstat, mpstat 内存监控: f ...
- cpu设计过程
一款CPU是如何设计出来的? 前面一段,我们了解了芯片的制造过程,也就是如何从沙子中提取硅.把硅切成片,在片上通过离子注入实现PN结.实现各种二极管.三极管.CMOS管.从而实现千万门级大规模集成电路 ...
- 如何解决Visual Studio 2017 运行后控制台窗口一闪就消失了
出现这种情况的原因 安装使用Visual Studio 2017 后,用Ctrl+F5运行程序,结果控制台窗口一闪就没了,也没有出现"press any key to continue-&q ...
- STM32 标准库
CMSIS 标准及库层次关系 因为基于Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难.为了解决不同的芯片厂商生产的Co ...
- stylus css tooltips 工具提示
tooltips 纯css工具提示 bubbles-tooltips 查看效果 演示 安装 npm install tooltips --save 使用 在 gulp 中使用 gulp var gul ...
- ES6-11学习笔记--正则表达式的扩展
y修饰符 u修饰符 复习以前的修饰符: i(忽略大小写) m(多行匹配) g(全局匹配) y修饰符:粘连修饰符 const str = 'aaa_aa_a' const reg1 = /a+/ ...
- python计算项目净现值和内部回报率
代码: import numpy as np from numpy import irr import warnings def project(number, period_list): rate ...