linux 正则表达式 使用grep命令
最常应用正则表达式命令是 awk sed grep
[root@MongoDB ~]# cat mike.log
I am mike!
I like linux. I like play football, tennis and reading.
my qq is !
my blog is https://i.cnblogs.com
my blog is i.miek.com
I am miek.
not MIEK
NOT MIKE
基础正则字符说明
1.^word 匹配以word开头的内容 vi/vim编辑器里^代表一行的开头
2.word$ 匹配以word结尾的内容 vi/vim编辑器里$代表一行的结尾
3. ^$ 表示空行
a.过滤出来以m开头的行
[root@MongoDB ~]# grep "^m" mike.log
my qq is !
my blog is https://i.cnblogs.com
my blog is i.miek.com
b.过滤出来以m结尾的行
[root@MongoDB ~]# grep "m$" mike.log
my blog is https://i.cnblogs.com
my blog is i.miek.com
c.过滤匹配空行的行
grep -n 显示匹配的行号
[root@MongoDB ~]# grep -n '^$' mike.log
:
:
grep -v 排除内容 指定字段不显示
过滤出 不带 空行的行,其他行都打印
[root@MongoDB ~]# grep -vn "^$" mike.log
:I am mike!
:I like linux.
:I like play football, tennis and reading.
:my qq is !
:my blog is https://i.cnblogs.com
:my blog is i.miek.com
:I am miek.
:not MIEK
:NOT MIKE
4. . 代表且只能代表任意一个字符。
5. \ 转义
6. * 重复0个或多个前面的一个字符 例如o* 匹配没有o,有一个o或多个o
7 .* 匹配所有字符 ^.*以任意多个字符开头, .*$ 以任意多个字符结尾
a. 匹配任意一个字符 .
因为第三行没有字符 没有匹配到
[root@MongoDB ~]# grep -n "." mike.log
:I am mike!
:I like linux.
:I like play football, tennis and reading.
:my qq is !
:my blog is https://i.cnblogs.com
:my blog is i.miek.com
:I am miek.
:not MIEK
:NOT MIKE
.*
[root@MongoDB ~]# grep -n ".*" mike.log
:I am mike!
:I like linux.
:
:I like play football, tennis and reading.
:my qq is !
:my blog is https://i.cnblogs.com
:my blog is i.miek.com
:I am miek.
:not MIEK
:NOT MIKE
:
匹配 mi.. .. 任意字符
root@MongoDB ~]# grep -n "mi.." mike.log
:I am mike!
:my blog is i.miek.com
:I am miek.
grep -i 不区分大小写
[root@MongoDB ~]# grep -ni "mi.." mike.log
:I am mike!
:my blog is i.miek.com
:I am miek.
:not MIEK
:NOT MIKE
匹配以.结尾 需要转义
[root@MongoDB ~]# grep -n "\.$" mike.log
:I like linux.
:I like play football, tennis and reading.
:I am miek.
-o 只显示匹配的内容
[root@MongoDB ~]# grep -no "mi.." mike.log
:mike
:miek
:miek
8. [abc] 匹配字符串集合内任意一个字符 [a-zA-Z],[0-9]
9. [^abc] 匹配不包含^后的任意一个字符的内容
中括号里的^为取反
匹配0-9数字的行 匹配数字的行
[root@MongoDB ~]# grep "[0-9]" mike.log
my qq is !
linux 正则表达式 使用grep命令的更多相关文章
- Linux中利用grep命令如何检索文件内容详解
前言 Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索.下面来一起看看Linux利用grep命令检索文件内容的详细介绍. 方法 ...
- [Linux]正则表达式和grep使用【转载】
[Linux]正则表达式和grep使用 2018年12月05日 23:45:54 祥知道 阅读数 78 标签: 正则表达式grepLinuxegrep 更多 个人分类: Linux 所属专栏: Li ...
- Linux - 结合正则表达式使用grep命令
Grep with Regular Expression grep命令基本用法 grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名参数说明: ...
- Unix/Linux中的grep命令(转)
本文转载自:如何使用Unix/Linux grep命令——磨刀不误砍柴工系列.该博文条理很清晰. grep简介 grep在一个或多个文件中查找与模式字符串(pattern)匹配的行,并将搜索的结果打印 ...
- 【Linux基础】grep命令
1.简介 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 命令格式:grep [option] pattern file 2.常用参数与举例: -e : 使用P ...
- Linux find、grep命令详细用法
在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下:find命令 find命令的一般形式 ...
- Linux中通过grep命令检索文件内容和指定内容前后几行
原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...
- linux(centos8):用grep命令查找文件内容
一,grep的用途: linux平台有最常用的三大文本处理工具:awk/sed/grep grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行. 需要注意的地方:grep只支 ...
- Linux正则表达式与grep
bash是什么 bash是一个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令 bash还能从文件中读取linxu命令,称之为脚本 bash支持通配符.管道.命令替换.条件判断等逻辑控制语句 ...
随机推荐
- java map 根据 map的value值进行排序
//根据销量排行查询 public void queryGoodsByHotCount(){ //将map集合键和值封装到entry对象中 然后转换成set集合 Set<Entry<Int ...
- Vue的css动画原理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- springboot项目作为其他项目子项目
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/P ...
- 对vue虚拟dom的研究
Vue.js通过编译将template 模板转换成渲染函数(render ) ,执行渲染函数就可以得到一个虚拟节点树 在对 Model 进行操作的时候,会触发对应 Dep 中的 Watcher 对象. ...
- 015:URLs分层模块化
URLs分层模块化: 经过上面的14节课程,大伙有没有发现一个问题:那就是随着的项目功能模块越来越多,所有url匹配都写在一个urls.py文件中,其结果是:文件长,看着心累——需要分门别类:因此能不 ...
- N皇后问题 --使用位运算解决
关键位运算 x & (-x) 取得最低位1 x & (x-1) 去掉最低位1 class Solution(object): def totalNQueens(self, n): &q ...
- UNIX环境--线程
一.线程的概念 1.线程在进程中是负责执行代码的一个单位,可以说线程是进程的一部分.一个进程中至少要有一个主线程,进程可以拥有多个线程. 2.线程和进程一样,线程会共享进程的一些信息.比如,代码段.全 ...
- 编译依赖ndt_gpu库的包,遇到Eigen报错
背景: 使用NDT建图,帧率比较慢,打算使用gpu加速计算. ndt_gpu是一个使用gpu加速ndt计算的库,首先在工作空间编译这个包. 然后在ndtMap包中链接这个库,其CMakelists.t ...
- Spring Boot教程(十六)属性配置文件详解(1)
相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁 ...
- Oracle --45 个非常有用的 Oracle 查询语句
日期/时间 相关查询 1.获取当前月份的第一天运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 “SYSDATE”来指定查询的日期.SELECT TRUNC (SYSDATE, 'MO ...