正则表达式解析 & awk/sed/grep实用实例总结文档

##正则表达式特殊字符解析

"^" 匹配行首
"$" 匹配行尾
"^$"
匹配整行为空,空行

grep -v "^$"    打印非空的行

"."  代表且只能代表任意一个字符
"*" 重复0个或多个前面一个的字符。例如"o*",重复一个或多个o
".*"  匹配所有字符。延伸: "^.*" -->以任意多个字符开头。".*$"-->以任意多个字符结尾
"\" 让有特殊意义的字符,脱掉马甲,还原原型。例如"\.",就只代表“.”点本身
"[abc]" 匹配"[]"中括号内的任意一个字符
"[^abc]" 匹配不包含"^"后的任意一个字符的内容,即匹配不包含"a"|"b"|"c"的内容

(1)"a\{n,m\}"

(2)"a\{n,\}" 

(3)"a\{n\}”

(4)"a\{,m\}" 


(1)匹配将前一个字符,重复n->m次的内容,egrep/sed -r或者grep -E可以省去\转义。即将"a"字符重复n到m的内容匹配

(2)前一个字符至少重复n次

(3)前一个字符重复n次

(4)前一个字符最多重复m次。即将a重复0-m次的内容匹配

##实例1

#实战准备

mkdir -p /root/test0513/

调整字符集:exportLC_ALL=C    或者    echo "exportLC_ALL=C" >>/etc/profile && source /etc/profile

grep -n "^m" oldboy.log    打印以m开头的行
grep -n "m$" oldboy.log    打印以m结尾的行
grep -n "^$" oldboy.log    打印空白行
grep -nv "^$" oldboy.log    打印非空的行

grep "." oldboy.log    打印包含任意字符的行,即空白行不包含字符,不打印
grep ".*" oldboy.log    任意字符重复0-n次,即所有打印所有行
grep ".*$" oldboy.log    打印以任意字符结尾,且重复0-n次,即包括空白行
grep "^.*" oldboy.log    打印以任意字符开头,且重复0-n次,即包括空白行
grep "old.*y" oldboy.log    打印old和y之间包含任意字符的行
grep "0*" oldboy.log        打印包含重复0次到任意多次0的行

grep "[a-z]"oldboy.log    打印所有包含小写字母a-z的行
grep "[^a-z]"oldboy.log    打印所有不包含小写字母a-z的行,否定

grep "0\{1,9\}"oldboy.log    打印将0字符重复1-9次的行
grep "0\{3\}"oldboy.log    将0重复3次的行
grep "0\{,3\}"oldboy.log    将0重复0-3次的行
grep "0\{4,\}"oldboy.log    将0重复4次以上的行

##实例2:取出ifconfigeno167网卡的ip地址

(1)sed正则匹配+后向引用

ifconfig eno16777736|sed -n ‘2p‘|sed ‘s#^.*inet ##g‘|sed ‘s# net.*$##g‘
ifconfig eno16777736 |sed -n ‘2‘p |sed -r ‘s#^.*inet (.*)#\1#g‘|sed -r ‘s#(.*) netmask.*$#\1#g‘
ifconfig eno16777736 |sed -n ‘2‘p |sed -r ‘s#^.*inet (.*) netm.*$#\1#g‘
ifconfig eno16777736|sed -nr ‘2s#^.*inet (.*) netmask.*$#\1#gp‘

(2)awk

ifconfig eno16777736|sed -n ‘2p‘|awk ‘{print $2}‘
ifconfig eno16777736 |awk ‘NR==2{print $2}‘

正则表达式解析 & awk/sed/grep实用实例总结文档

时间: 2024-10-03 14:03:27

正则表达式解析 & awk/sed/grep实用实例总结文档的相关文章

57 利用sed处理windows和Unix文档中的行结束符

UNIX和DOS/Windows系统的纯文本格式的换行方式是不同的,基于DOS/Windows的文本文件在每一行末尾有一个CR(回车)和LF(换行),而UNIX文本只有一个换行. 如果想将一个Unix文本转换为Windows文本,可以使用如下的sed命令行 sed -e 's/$/\r/' myunix.txt > mywin.txt 在该脚本中,'$'规则表达式将与行的末尾匹配,而'\r'告诉sed在其之前插入一个回车.在换行之前插入回车,立即,每一行就以CR/LF结束. 虽然很多程序不在乎D

ElasticSearch操作实例大全---文档结构操作(2)

接上一篇ElasticSearch操作实例大全---文档结构操作(1) 前提条件--开发环境已安装 (自行百度) 客户端用的是nest 学习elasticSearch主要是要掌握像sqlserver要会操作数据结构的增删改和数据的增删改查,这里主要写elasticSearch的文档结构操作和文档数据操作 一.如果你已经建好了索引,但是需求改变需要新增一个字段,那就改了之后要进行映射,映射主要是确定字段的数据类型 /// <summary> /// 创建mapping /// </summ

awk &nbsp; sed &nbsp; grep &nbsp; &nbsp; 正则表达式

做事要有耐心. 虚心接受建议,你确实有很多缺点. 就算进步慢,也不可以停止前进的脚步. AWK awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有三种不同版本: awk   gawk    nawk 1.使用方法 awk '{pattern + action}' {filenames} 其中 pattern 表示 AWK 在数

awk.sed.grep三剑客详解

事前准备1.主机node1:172.16.133.112.作为实验的文件/etc/passwd /etc/fstab qinqin cp /etc/passwd . cp /etc/fstab . 一.grep用法详解1.grep是干什么的grep的全名是Galobal research Regular Expression and Pringtiong,即搜索正则表达式,也就是说grep简单来讲就是用来搜索匹配字符的2.grep分类grep有基本正则表达式和扩展正则表达式之分,不过她们的作用域

LVS的持久连接和awk/sed/grep的学习笔记

一.LVS持久连接的模式 1.PPC(persistent port connection) ipvsadm -A|E 192.168.10.1:80 -p 600 定义VIP为192.168.10.1director的80端口为持久连接,也就是只把web服务加入集群服务,可以通过改变端口实现不同服务的持久连接且把不同服务加入集群服务 2.PCC(persistent client connection) ipvsadm -A|E 192.168.10.1:0 -p 600 定义VIP为192.

Linux的文本处理工具浅谈-awk sed grep

Linux的文本处理工具浅谈 awk   老大 [功能说明] 用于文本处理的语言(取行,过滤),支持正则 NR代表行数,$n取某一列,$NF最后一列 NR==20,NR==30 从20行到30行 FS竖着切,列的分隔符 RS横着切,行的分隔符 [语法格式] awk [–F] [“[分隔符]”] [’{print$1,$NF}’] [目标文件] awk 'BEGIN{FS="[列分隔符]+";RS="[行分隔符]+";print "-GEGIN-"

Mysql多实例配置文档

一.安装cmake yuminstall gcc gcc-c++ ncurses-devel perl    #安装前准备 wgethttp://wwwNaNake.org/files/v2.8/cmake-2.8.10.2.tar.gz tar-xzvf cmake-2.8.10.2.tar.gz cdcmake-2.8.10.2 ./bootstrap make&& make install 二.安装mysql groupaddmysql    useradd -g mysql mys

linux 下的 正则表达式(awk,sed,awk)学习

一.正则表达式: 正则表达式(或称Regular Expression,简称RE)就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式. 该模式描述在查找文字主体时待匹配的一个或多个字符串. 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.简单的说,正则表示式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为, 正则表示式通过一些特殊符号的辅助,可以让使用者轻易的达到搜寻/删除/取代某特定字符串的处理程序.vim.grep.find.awk.se

Linux 三剑客 -- awk sed grep

顶配awk,中配sed,标配grep 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等.如果我们相对这些文件进行一些编辑查询等操作时,我们可能会想到一些vi,vim,cat,more等命令.但是这些命令效率不高,这就好比一块空地准备搭建房子,请了10个师傅拿着铁锹挖地基,花了一个月的时间才挖完,而另外一块空地则请了个挖土机,三下五除二就搞定了,这就是效率.而在linux中的"挖土机"有三种型号:顶配awk,中配sed,标配grep.使用这些工具,我们能够在达到