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支持通配符.管道.命令替换.条件判断等逻辑控制语句 ...
随机推荐
- Spring Boot 整合 AOP
一.示例 1.依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- JDK的二进制安装
JDK的二进制安装步骤 1. Jdk1.8二进制包下载路径http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- ...
- 【HDU4003】Find Metal Mineral
题目大意:给定一棵 N 个节点的有根树,边有边权,在根结点处有 K 个人,这些人会遍历树上的所有边,求如何遍历才能使得所有人走过路径的边权和最小. 题解: 引理:对于一棵子树来说,若存在 M>0 ...
- python大佬养成计划----HTML网页设计(表格)
制作网页时,要合理规划网页布局.比如,在网页中添加一个表格,可分为上.中.下三部分,上部存放网页标题或LOGO图片,中间部分是整个网页的主体内容,底部就是相关制作信息.此外,单元格里还可再添加单元格, ...
- thinkphp之session操作
原理机制 配置部分 代码部分 助手函数 借助第三方介质存入session 从负载均衡角度考虑----最好放在memocache,redis
- 【NOIP2014模拟11.3】噪音
题目 FJ有M个牛棚,编号1至M,刚开始所有牛棚都是空的.FJ有N头牛,编号1至N,这N头牛按照编号从小到大依次排队走进牛棚,每一天只有一头奶牛走进牛棚.第i头奶牛选择走进第p[i]个牛棚.由于奶牛是 ...
- JDBC接口封装
package cn.piesat.sparkproject.jdbc; import java.sql.Connection;import java.sql.DriverManager;import ...
- (60) 结构体指针、结构体变量嵌套、结构体指针嵌套、函数指针、数组指针、指针数组、typedef 综合运用
#include<stdio.h> #include<iostream> #include<malloc.h> /* author : 吴永聪 program: 结 ...
- 极验验证码在php5.6.27下不显示
PHP5.6需要改php.ini 去掉;always_populate_raw_post_data = -1的 :
- springboot 基于@Scheduled注解 实现定时任务
前言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一.基于注解(@Scheduled) 二.基于接口(SchedulingConfigurer) 前者相信大家都很熟悉, ...