正则入坑-2--正则结合awk、sed、grep、find、cut等使用

对文档中目录名进行替换
#sed -e ‘s/\/home\/sxzhou/\/home\/SXZHOU/‘ < sed.txt
 
查找文件格式是txt和jpg格式的文件
#find . ( -name ".txt" -o -name ".jpg" ) -print
 
递归目录过滤字段
#grep ‘aaaa‘ -R
 
过滤以大写字母开头的行
#grep -n ‘^[A-Z]‘ 1.txt
 
搜索ooo前没有g的字符串所在的行
#vi test.txt
sxzhou
sxzhouooo
sxzhogooo
ooosxzhou
SXZHOU
 
#grep "[^g]ooo" test.txt
sxzhouooo
 
搜索开头不是英文字母的行
#vi test.txt
sxzhou
sxzhouooo
sxzhogooo
ooosxzhou
SXZHOU
123ndfkjd
 
#grep "^[^a-zA-Z]" test.txt
123ndfkjd
 
过滤空行和注释行
#egrep -v "^#|^$" 1.txt
 
过滤包含连续两个字母o的行
#cat test.txt
sxzhou
sxzhouooo
sxzhogooo
ooosxzhou
SXZHOU
123ndfkjd
dfsdjfoo
hdskfho
 
#grep -n ‘o{2}‘ test.txt
2:sxzhouooo
3:sxzhogooo
4:ooosxzhou
7:dfsdjfoo
 
#grep "ooo
" test.txt
sxzhouooo
sxzhogooo
ooosxzhou
dfsdjfoo
 
搜索包含s和u之间任意个数的任意字符的字符串所在行.表示0个或多个任意字符
#cat test.txt
sxzhou
ooosxzh24~ou!
sxzhsdfkhou++
sxzhsdjfouM
sxzh
 
#grep "s.
u" test.txt
sxzhou
ooosxzh24~ou!
sxzhsdfkhou++
sxzhsdjfouM
 
过滤有连续两个数字或三个数字的行
#grep -n ‘[[:digit:]]{2,3}‘ /etc/passwd
  
过滤root和apache用户的shell和UID
#egrep ‘^\b(root|apache)\b‘ /etc/passwd | cut -d: -f3,7
 
过滤至少一个空白字符开头的行
#grep "^[[:space:]]+.*" 1.txt
 
过滤字段的行,字段格式为#开头、接着至少一个空白字符、接着至少一个非空白字符
#grep "^#[[:space:]]+[^[:space:]]" 1.txt
 
过滤以root开头的行
#awk ‘/^root/‘ /etc/passwd
 
过滤包含500的行,匹配行的第一、二个域加10
#awk -F: ‘/500/ {print $1,$3+10}‘ passwd
 
正则表示ip地址0.0.0.0到999.999.999.999
"[0-9]{1,3}[.]{3}[0-9]{1,3}"
 
正则表示IPV4的IP
^(25[0-5]|2[0-4]\d|(1\d{2}|[1-9]?\d))(.(25[0-5]|2[0-4]\d|(1\d{2}|[1-9]?\d)){3}$)
分析:
IP分为四段,每段数字范围为0-255,IP地址组成特点:250-255、200-249、0-199
250-255 表示 25[0-5]
200-249 表示 2[0-4]\d
0-199 表示
0-9 表示 \d
10-99 表示 [1-9]\d
100-199 表示 1\d{2}
 
所以0-199可以表示为 (1\d{2}|[1-9]?\d)
0-255就可以表示为 (25[0-5]|2[0-4]\d|(1\d{2}|[1-9]?\d))
 
从多到少列出每个远程主机的连接数
#netstat -tnu | grep "[0-9]" | tr -s " " ":" | cut -d: -f6 | sort | uniq -c | sort -rn

持续更新中....

原文地址:http://blog.51cto.com/xiaoxiaozhou/2108601

时间: 2024-11-12 14:34:51

正则入坑-2--正则结合awk、sed、grep、find、cut等使用的相关文章

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

##正则表达式特殊字符解析 "^" 匹配行首 "$" 匹配行尾 "^$" 匹配整行为空,空行 grep -v "^$"    打印非空的行 "."  代表且只能代表任意一个字符 "*" 重复0个或多个前面一个的字符.例如"o*",重复一个或多个o ".*"  匹配所有字符.延伸: "^.*" -->以任意多个字符开头.&q

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

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

正则入坑-1--正则基础

正则表达式(Regular Expression)是一种文本模式,是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式.模式描述在搜索文本时要匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 1.语法 普通字符 普通字符包括没有显式指定为元字符的所有可打印和不可打印字符.这包括所有大写和小写字母.所有数字.所有标点符号和一些其他符号. 非打印字符 非打印字符也可以是正则表达式的组成部分.下表列出了表示非打印字符的转义序

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-"

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有基本正则表达式和扩展正则表达式之分,不过她们的作用域

Linux 三剑客 -- awk sed grep

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

记录一些命令的用法(awk,sed,grep)

qaz aqaz bqaz cqaz aqaz bqaz axsw cxsw axsw bxsw bcde ccde bcde b 需求:把上述文字转换成下列这样 xsw a/1,b/2,c/1qaz a/3,b/2,c/1cde b/2,c/1 解决思路: 首先把原文本通过命令弄成这样cde b/2cde c/1qaz a/3qaz b/2qaz c/1xsw a/1xsw b/2xsw c/1 命令: cat test.txt | sort | uniq -c | awk '{print $

webpack入坑之旅(三)webpack.config入门

这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不是开始的开始 webpack入坑之旅(二)loader入门 webpack入坑之旅(三)webpack.config入门 webpack入坑之旅(四)扬帆起航 webpack入坑之旅(五)加载vue单文件组件 webpack入坑之旅(六)配合vue-router实现SPA 在上面我们已经尝试过了两种