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支持通配符.管道.命令替换.条件判断等逻辑控制语句 ...
随机推荐
- c++列举出本地打印机和网络打印机名称
主要使用EnumPrinters函数 该函数枚举可用的打印机,打印服务器,域或印刷服务供应商. 代码:(开箱即用) #include <Windows.h> #include <st ...
- Pythoy修炼之路
路漫漫其修远兮,吾将上下而求索... 编程语言众多,徘徊在C.C#.Java.PHP等十字路口,看到哪个领域大牛的成功,便想打开那扇窗,反反复复,犹豫不决,终无所获. 个人认为选择一门语言,要根据自身 ...
- 一种循环C字符数组的骚操作
#include <stdio.h> #include <stdlib.h> int main() { char wenwa[] = "程劲小盆友在做什么" ...
- HDU-4292-Food(最大流,Dinic)
链接: https://vjudge.net/problem/HDU-4292 题意: You, a part-time dining service worker in your college's ...
- 【shell】文本匹配问题
原文本通过TITLE分段 TITLE1 xxx yyy TITLE2 xxx yyy hello zzz hello TITLE3 xxx hello 类似于这样的,hello可能有多个,需要打印出含 ...
- shell练习--PAT题目1005:继续(3n+1)猜想(全绿失败喜加一)
卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时 ...
- HDU 6191 Query on A Tree(字典树+离线)
Query on A Tree Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Othe ...
- You have 1 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): shopadmin. Run 'python manage.py migrate' to apply them.
数据库迁移时报错, You have 1 unapplied migration(s). Your project may not work properly until you apply the ...
- SQL Server服务起不了
转载 MSSQLSERVER服务无法启动的解决方案 1.IP地址配置不正确: 打开 Microsoft SQL Server 2005配置工具下的SQL Server Configuration ...
- Ambari 2.6.0 HDP 2.6.3集群搭建
1.安装环境说明 三台机器安装好CentOS-7-x86_64-Minimal-1708.iso 下载地址:https://www.centos.org/download/ 最好在安装时设置好IP和H ...