鹤壁建设网站推广,网站如何在手机端做适配,建设网站审批手续,酒店网站设计模板一、正则表达式
1.1 什么是正则表达式
正则表达式是一种用于匹配和操作文本的强大工具#xff0c;它是由一系列字符和特殊字符组成的模式#xff0c;用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。
正则表达式和通配符的区别
正则…一、正则表达式
1.1 什么是正则表达式
正则表达式是一种用于匹配和操作文本的强大工具它是由一系列字符和特殊字符组成的模式用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。
正则表达式和通配符的区别
正则表达式匹配文章中的字符
通配符匹配的是文件名
1.2 元字符
代表字符 符号作用.代表任意字符[]代表单个字符[^]代表指定范围外的任意单个字符[:space:]包括空格制表符tab键[:alnum:]代表字母和数字[:alpha:]代表任意大小写英文字母
. [a-z] [^li] [[:space:]] [[:alnum:]]和[[:alpha:]] 1.3 表示次数
符号作用*0——正无穷次.*任意长度的任意字符不包括0次\?可有可无代表一次或0次\1——正无穷\{n\}前面的字符出现了n次\{n,m\}前面的字符出现了n-m次\{3,\}前面的字符出现了最少3次\{,5\}前面的字符出现了最多5次
实际应用 \{n\}前面的字符出现了n次 \{3,\}前面的字符出现了最少3次 \{n,m\}前面的字符出现了n-m次 *0——正无穷次
.* 任意长度的任意字符不包括0次 \? 可有可无代表一次或0次 \ 可有可无代表一次到正无穷次 \{,3\}前面的字符出现了最多3次 1.4 位置锚定
符号作用^$空行^[[:space:]]*$空白行\或\b字符的开头\或\b字符的结尾
实际应用
过滤出不是以#号开头的行 过滤出root这个字符 \或\b 字符的开头 1.5 分组或其他
分组用括号将需要组合的字符括起来
实际应用
分组匹配abc 匹配1abc或2abc 使用分组匹配出ip地址 1.6 扩展正则表达式
grep -E或egrep
表示次数 符号作用*匹配前面字符任意次?0或1次1次或多次{n}匹配n次{m,n}至少m至多n次{,n}匹配前面的字符至多n次,nn可以为0{n,}匹配前面的字符至少n次,nn可以为0
表示分组 符号作用()分组| 或者a|ba或bC|catC或cat(C|c)atCat或cat
练习
1.表示邮箱 2.表示qq号 3.表示手机号码 二、grep 格式
grep [选项]… 查找条件 目标文件 选项
-colorauto 对匹配到的文本着色显示
-m # 匹配#次后停止
grep -m 1 root /etc/passwd #多个匹配只取第一个
-v 显示不被pattern匹配到的行,即取反
grep -Ev ^[[:space:]]*#|^$ /etc/fstab
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
grep -c root /etc/passwd #统计匹配到的行数
-o 仅显示匹配到的字符串
-q 静默模式不输出任何信息
-A # after, 后#行
grep -A3 root /etc/passwd #匹配到的行后3行业显示出来
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系,如grep –e ‘cat -e ‘dog file
grep -e root -e bash /etc/passwd #包含root或者包含bash 的行
grep -E root|bash /etc/passwd
-w 匹配整个单词
grep -w root /etc/passwd
useradd rooter
-E 使用ERE相当于egrep
-F 不支持正则表达式相当于fgrep
-f file 根据模式文件处理两个文件相同内容 把第一个文件作为匹配条件
-r 递归目录但不处理软链接
-R 递归目录但处理软链接 实际应用
过滤非空行 过滤以root开头的行 过滤以bash结尾的行 统计当前主机的连接状态 统计当前连接主机数 三、awk
3.1 什么是awk
AWK 是一款出色的文本处理工具。它是可用于任何环境不仅仅是 Linux的最强大的数据处理引擎之一。这种编程和数据处理语言以其创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的姓氏首字母命名只会随着知识的积累而变得更好AWK 提供了强大的功能样式加载 和流式处理、数学运算符、流程控制语句甚至内置变量和函数。AWK 可以进行样式加载、流式处理、数学运算符、过程控制语句甚至内置变量和函数。AWK 几乎拥有完整语言的所有强大功能。事实上AWK 拥有自己的语言AWK 编程语言被其三位创建者正式定义为 样式扫描和处理语言。可以创建无数的简短程序来读取输入文件、排序数据、处理数据、对输入进行计算、生成报告等。
3.2 awk的工作原理
逐行读取文本默认以空格或tab键为分隔符进行分隔将分隔所得的各个字段保存到内建变量中并按模式或者条件执行编辑命令。
通常awk是将一行数据拆分为多个字段操作者可以选取指定的字段对其进行高效率的操作
3.3 awk的基础用法
3.3.1 基本打印用法 格式
awk 选项 表达式{处理动作} 常用选项 符号作用-F指定分隔符-v指定变量
实际应用
再打印一遍 运算 先处理BEGIN 中的式子
连续的空白符 取分区利用率和IP地址 3.4 awk 常见的内置变量
内置变量作用$0当前处理的行的整行内容$n当前处理行的第n个字段第n列NR当前处理的行的行号序数NF当前处理的行的字段个数。$NF代表最后一个字段FS列分割符。指定每行文本的字段分隔符默认为空格或制表位。与-F作用相同OFS输出内容的列分隔符FILENAME被处理的文件名RS行分隔符。awk从文件中读取资料时将根据RS的定义把资料切割成许多条记录 而awk一次仅读入一条记录进行处理。预设值是\n
3.5 自定义变量 root CXK /opt] awk -v testhello BEGIN{print test}
hello
[root CXK /opt] 3.6 打印行内容及其行号 awk {print NR} test.txt awk {print NR,$0} test.txt 3.6.1 指定行和指定行范围打印 awk NR3{print} test.txt awk NR3,NR5{print} test.txt awk (NR3)(NR5){print} test.txt 3.6.2 奇偶行打印 awk NR%20{print} test.txt awk NR%21{print} test.txt 3.6.3 文本内容匹配过滤打印 awk /^root/{print} /etc/passwd
awk /bash$/{print} /etc/passwd 3.7 BEGIN END
BEGIN{}仅在开始处理文件中的文本之前执行一次
END{}仅在文本处理完成之后执行一次
应用 3.8 条件判断打印
正向判断打印 awk -F: $3500{print $0} /etc/passwd判断取反打印 awk -F: !($310){print $0} /etc/passwd 此之外甚至可以直接进行if语句判断打印 awk -F: {if($3500){print $0}} /etc/passwd3.9 for
计算 3.10 awk结合数组运用
3.10.1 awk中定义数组打印 awk BEGIN{a[0]10 ; a[1]20 ; a[2]30;print a[1]} awk BEGIN{a[0]10 ; a[1]20 ; a[2]30;print a[0]} awk BEGIN{a[0]10 ; a[1]20 ; a[2]30;print a[2]}
此外awk中的数组还能形成遍历 awk BEGIN{a[0]10 ; a[1]20 ; a[2]30;for(i in a)print i,a[i]} 定义数组及其元素 变量i读取数组a的下标 输出数组下标及其相对应的元素
3.10.2awk打印文件内容去重统计
去重打印数组 echo ${arry[]}|awk -v RS !a[$1]指定分隔符为空格 筛选掉重复的元素awk -v RS !a[$1] ${arry[]}表达式中重定向输入将右边的数组作为左边表达式子的处理对象
处理文件去重统计
awk {a[$1]};END{for(i in a){print i,a[i]}} test.txt 题目统计ssh登录失败的用户及其登录失败日志/var/log/secure中有记录的次数通常我们会认为失败三次存在着暴力破解登录的可能意味该主机存在隐患解决方案将其筛选出来就把IP加入到黑名单中 /etc/hosts.deny。
awk筛选统计
awk /Failed password/{a[$11]};END{for(i in a){print i,a[i]}} /var/log/secure
其他方式
awk /Failed password/{print $11} /var/log/secure |sort -n
awk /Failed password/{print $11} /var/log/secure |sort -n |uniq -c
一些题目
提取字段中的 IP地址和时间
awk {print $1, $4} log.txt
提取某一时间段的日志
cat access_log |awk /2018:11:56:43/,/2018:11:56:44/{print $0}
提取host.txt主机名后再放回host.txt文件
awk {print $2} host.txt host.txt
cat host.txt|awk {print $2}|awk -F. {print $1} host.txt cat host.txt|awk -F [ .] {print $2}
统计/etc/fstab文件中每个文件系统类型出现的次数
cat /etc/fstab |awk {print $3}|grep -v ^#|grep -v ^$|tail -n 4|sort|uniq -c
统计/etc/fstab文件中每个真单词出现的次数
grep -o -w -E \b[[:alpha:]]\b /etc/fstab | sort | uniq -c提取出字符串Yd$CM05MB%9Bdh7dqYVixp3vpw中的所有数字
echo Yd$CM05MB%9Bdh7dqYVixp3vpw | grep -o -E [0-9]查出/tmp/的权限以数字方式显示
stat -c %a /tmp/
stat /tmp/|sed -nr 4s/.*\((.*)\/.*\) Uid.*/\1/p查出用户UID最大值的用户名、UID及shell类型
awk -F: {print $1, $3, $7} /etc/passwd | sort -t -k2 -n | tail -n 1总结
1. awk是一种对文件输出内容的字段列进行操作的工具多数用来提取重要数据
2. awk 结合数组时可以进行数组定义数组遍历以及数组元素的去重统计
3.提取文件数据时注意每行或列的分隔符正确借用分隔符能够使提取的数据更加精确 文章转载自: http://www.morning.kmprl.cn.gov.cn.kmprl.cn http://www.morning.pcgrq.cn.gov.cn.pcgrq.cn http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn http://www.morning.gfhng.cn.gov.cn.gfhng.cn http://www.morning.thpzn.cn.gov.cn.thpzn.cn http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn http://www.morning.phgz.cn.gov.cn.phgz.cn http://www.morning.nmkfy.cn.gov.cn.nmkfy.cn http://www.morning.cdygl.com.gov.cn.cdygl.com http://www.morning.hysqx.cn.gov.cn.hysqx.cn http://www.morning.mqldj.cn.gov.cn.mqldj.cn http://www.morning.hrzky.cn.gov.cn.hrzky.cn http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn http://www.morning.rbknf.cn.gov.cn.rbknf.cn http://www.morning.dqxph.cn.gov.cn.dqxph.cn http://www.morning.jtsdk.cn.gov.cn.jtsdk.cn http://www.morning.wrlcy.cn.gov.cn.wrlcy.cn http://www.morning.wpmqq.cn.gov.cn.wpmqq.cn http://www.morning.hcsnk.cn.gov.cn.hcsnk.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.yksf.cn.gov.cn.yksf.cn http://www.morning.youprogrammer.cn.gov.cn.youprogrammer.cn http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn http://www.morning.yqqgp.cn.gov.cn.yqqgp.cn http://www.morning.pcwzb.cn.gov.cn.pcwzb.cn http://www.morning.yszrk.cn.gov.cn.yszrk.cn http://www.morning.mfbzr.cn.gov.cn.mfbzr.cn http://www.morning.lmrjn.cn.gov.cn.lmrjn.cn http://www.morning.zlhzd.cn.gov.cn.zlhzd.cn http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn http://www.morning.xqknl.cn.gov.cn.xqknl.cn http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn http://www.morning.jqmmf.cn.gov.cn.jqmmf.cn http://www.morning.pjtw.cn.gov.cn.pjtw.cn http://www.morning.c7507.cn.gov.cn.c7507.cn http://www.morning.xnhnl.cn.gov.cn.xnhnl.cn http://www.morning.nwmwp.cn.gov.cn.nwmwp.cn http://www.morning.ypxyl.cn.gov.cn.ypxyl.cn http://www.morning.rntby.cn.gov.cn.rntby.cn http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn http://www.morning.ltywr.cn.gov.cn.ltywr.cn http://www.morning.rrwft.cn.gov.cn.rrwft.cn http://www.morning.fnfxp.cn.gov.cn.fnfxp.cn http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn http://www.morning.skbbt.cn.gov.cn.skbbt.cn http://www.morning.sbrjj.cn.gov.cn.sbrjj.cn http://www.morning.rbylq.cn.gov.cn.rbylq.cn http://www.morning.wsyst.cn.gov.cn.wsyst.cn http://www.morning.yckwt.cn.gov.cn.yckwt.cn http://www.morning.fqqlq.cn.gov.cn.fqqlq.cn http://www.morning.bqhlp.cn.gov.cn.bqhlp.cn http://www.morning.bnylg.cn.gov.cn.bnylg.cn http://www.morning.mxhgy.cn.gov.cn.mxhgy.cn http://www.morning.mtrrf.cn.gov.cn.mtrrf.cn http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn http://www.morning.kjrlp.cn.gov.cn.kjrlp.cn http://www.morning.hsxkq.cn.gov.cn.hsxkq.cn http://www.morning.lxjcr.cn.gov.cn.lxjcr.cn http://www.morning.rfwgg.cn.gov.cn.rfwgg.cn http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn http://www.morning.jbtlf.cn.gov.cn.jbtlf.cn http://www.morning.kdxzy.cn.gov.cn.kdxzy.cn http://www.morning.kpygy.cn.gov.cn.kpygy.cn http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn http://www.morning.tkchg.cn.gov.cn.tkchg.cn http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn http://www.morning.spbp.cn.gov.cn.spbp.cn http://www.morning.rzcfg.cn.gov.cn.rzcfg.cn http://www.morning.pfmsh.cn.gov.cn.pfmsh.cn http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com http://www.morning.gcspr.cn.gov.cn.gcspr.cn http://www.morning.zxfr.cn.gov.cn.zxfr.cn http://www.morning.yrgb.cn.gov.cn.yrgb.cn http://www.morning.gcfrt.cn.gov.cn.gcfrt.cn http://www.morning.sxfnf.cn.gov.cn.sxfnf.cn http://www.morning.hlzpb.cn.gov.cn.hlzpb.cn http://www.morning.tdttz.cn.gov.cn.tdttz.cn http://www.morning.mtjwp.cn.gov.cn.mtjwp.cn http://www.morning.tlyms.cn.gov.cn.tlyms.cn