2015-04-10/2015-04-13正则

内容概要
正则就是有一定规律的字符串,有几个特殊符号很关键(. * + ? | ),我们平时不仅可以用命令行工具grep/sed/awk去引用正则,而且还可以把正则嵌入在nginx、apache、甚至php、python编程语言当中,学好正则可以让你受用无穷!
一、grep/egrep
1. 语法+选项
语法: grep  [-cinvABC]  ‘word‘  filename
-c :打印符合要求的行数
-n :在输出符合要求的行的同时连同行号一起输出
-v :打印不符合要求的行 
-A :后跟一个数字(有无空格都可以),例如 –A2则表示打印符合要求的行以及下面两行
-B :后跟一个数字,例如 –B2 则表示打印符合要求的行以及上面两行  
-C :后跟一个数字,例如 –C2 则表示打印符合要求的行以及上下各两行
-r : 会把目录下面所有的文件全部遍历
3. egrep
egrep工具 是grep工具的扩展
egrep ‘o+‘ 1.txt   表示1个或1个以上前面字符
egrep ‘o?‘ 1.txt  表示0个或者1个前面字符
egrep ‘roo|body‘ 1.txt  匹配roo或者匹配body
egrep ‘r(oo)|(at)o‘ 1.txt 用括号表示一个整体
egrep ‘(oo)+‘ 1.txt 表示1个或者多个 ‘oo‘
4. . * + ? 总结
. 表示任意一个字符(包括特殊字符)
* 表示零个或多个*前面的字符
.* 表示任意个任意字符(包含空行)
+ 表示1个或多个+前面的字符
? 表示0个或1个?前面的字符
其中,+ ? grep不支持,egrep才支持。
二.  sed   打印
打印指定行 sed ‘10‘p -n 1.txt; sed ‘1,4‘p -n 1.txt; sed ‘5,$‘p -n 1.txt
打印包含某个字符串的行 sed -n ‘/root/‘p 1.txt 可以使用 ^ . * $等特殊符号
-e 可以实现同时进行多个任务 sed -e ‘/root/p‘ -e ‘/body/p‘ -n 1.txt 也可以用;实现  sed  ‘/root/p; /body/p‘ -n 1.txt
删除行 sed ‘/root/d‘ 1.txt;   sed ‘1d‘ 1.txt; sed ‘1,10d‘ 1.txt
替换 sed ‘1,2s/ot/to/g‘ 1.txt, 其中s就是替换的意思,g为全局替换,否则只替换第一次的,/也可以为 #, @ 等
删除所有数字 sed ‘s/[0-9]//g‘ 1.txt
删除所有非数字  sed ‘s/[^0-9]//g‘ 1.txt
调换两个字符串位置 head -n2 1.txt |sed ‘s/\(root\)\(.*\)\(bash\)/\3\2\1/‘
直接修改文件内容 sed -i ‘s/ot/to/g‘ 1.txt
三.  awk   截取
截取文档中的某段 awk -F ‘:‘ ‘{print $1}‘ 1.txt
也可以使用自定义字符连接每个段 awk -F‘:‘ ‘{print $1"#"$2"#"$3"#"$4}‘ 1.txt
匹配字符或字符串 awk ‘/oo/‘ 1.txt
针对某个段匹配 awk -F ‘:‘ ‘$1 ~/oo/‘ 1.txt
多次匹配 awk -F ‘:‘ ‘/root/ {print $1,$3}; $1 ~/test/; $3 ~/20/‘ 1.txt
条件操作符==, >,<,!=,>=;<=  
awk -F ‘:‘ ‘$3=="0"‘  1.txt;
awk -F ‘:‘ ‘$3>="500"‘ 1.txt;
awk -F ‘:‘ ‘$7!="/sbin/nologin"‘  1.txt;
awk -F ‘:‘ ‘$3<$4‘ 1.txt ;
awk -F ‘:‘ ‘$3>"5" && $3<"7"‘ 1.txt
awk -F ‘:‘ ‘$3>"5" || $7=="/bin/bash"‘ 1.txt
awk内置变量 NF(段数  filed )  NR(行数  )
head -n3 1.txt | awk -F ‘:‘ ‘{print NF}‘
head -n3 1.txt | awk -F ‘:‘ ‘{print $NF}‘
head -n3 1.txt | awk -F ‘:‘ ‘{print NR}‘
打印20行以后的行awk ‘NR>20‘ 1.txt
awk -F ‘:‘ ‘NR>20 && $1 ~ /ssh/‘  1.txt
更改某个段的值awk -F ‘:‘ ‘$1="root"‘ 1.txt
数学计算, 把第三段和第四段值相加,并赋予第七段 awk -F ‘:‘ ‘{$7=$3+$4; print $0}‘ 1.txt
计算第三段的总和 awk -F ‘:‘ ‘{(tot=tot+$3)}; END {print tot}‘ 1.txt
awk中也可以使用if关键词 awk -F ‘:‘ ‘{if ($1=="root") print $0}‘ 1.txt
扩展阅读:扩展阅读:
1. grep 其实还可以这样使用:
把一个目录下,过滤所有*.php文档中含有eval的行
grep -r --include=“*.php" ‘eval‘ /data/
实际应用:看看你的网站程序有没有被黑客入侵  http://www.lishiming.net/thread-1028-1-1.html
2. awk用print打印单引号 http://www.lishiming.net/thread-1738-1-1.html
3. 打印文件中特定的某行到某行之间的内容  http://www.lishiming.net/thread-559-1-1.html
4. awk 中使用外部shell变量 http://www.lishiming.net/thread-199-1-1.html
5. awk 合并一个文件 http://www.lishiming.net/thread-493-1-1.html
6. grep -q 用于if 逻辑判断 http://www.lishiming.net/thread-439-1-1.html
7. awk 计算1到100的和 http://www.lishiming.net/thread-384-1-1.html
8. 把一个文件多行连接成一行 http://www.lishiming.net/thread-266-1-1.html
9. awk中gsub函数的使用 http://www.lishiming.net/thread-200-1-1.html
10. sed在文件中某一行最后添加一个数字 http://www.lishiming.net/thread-288-1-1.html
11. awk 截取指定多个域为一行 http://www.lishiming.net/thread-224-1-1.html
12. sed删除某关键字的下一行到最后一行 http://www.lishiming.net/thread-213-1-1.html
13. grep 或 egrep 或awk 过滤两个或多个关键词 http://www.lishiming.net/thread-198-1-1.html
14. 用awk编写生成以下结构文件的程序 http://www.lishiming.net/thread-5494-1-1.html
15. 如何使用sed打印1到100行包含某个字符串的行  http://www.lishiming.net/thread-1048-1-1.html
16. 把两个文件中相同的行合并成一行 http://www.lishiming.net/thread-945-1-1.html
17. sed转换大小写  http://www.aminglinux.com/bbs/thread-7758-1-1.html
18. awk教程  http://www.cnblogs.com/emanlee/p/3327576.html

时间: 2024-10-02 09:14:00

2015-04-10/2015-04-13正则的相关文章

NCPC 2015 October 10, 2015 Problem D

NCPC 2015Problem DDisastrous DowntimeProblem ID: downtimeClaus Rebler, cc-by-saYou’re investigating what happened when one ofyour computer systems recently broke down. So faryou’ve concluded that the system was overloaded; itlooks like it couldn’t ha

香蕉派(banana pi )2015年10月 13 号至10月16号参加香港贸发局香港秋季电子

香蕉派(banana pi )将于2015年10月 13 号至10月16号参加香港贸发局香港秋季电子产品展, 欢迎各位前来参观指导 展会名称:香港贸发局香港秋季电子产品展2015时间: 2015年10月13号--10月16号 展台编号:3C-A38地址: 香港湾仔博览道1号香港会议展览中心 期待您的到来!!

CVE-2015-1328 Ubuntu 12.04, 14.04, 14.10, 15.04 overlayfs Local Root

catalog 0. 引言 1. Description 2. Effected Scope 3. Exploit Analysis 4. Principle Of Vulnerability 5. Patch Fix 0. 引言 新技术.高性能技术的不断发展,越来越提升了操作系统的能力,而近几年出现的虚拟化技术,包括overlayfs虚拟层叠文件系统技术,则为docker这样的虚拟化方案提供了越来越强大的技术支撑,但是也同时带来了很多的安全问题抛开传统的overflow溢出型漏洞不说,还有另一

传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(2015年10月25日23:28:50)

本笔记是个人笔记+摘录笔记相结合,非完全原创 day01 win 7系统打开DOS有趣方法:按住shift+右键,单击“在此处打开命令窗口”(注意:在此处可以是任何的文件夹,不一定是桌面) 用DOS删除的文件不可以在回收站恢复?!! 常用DOS命令d: 回车 盘符切换dir(directory):列出当前目录下的文件以及文件夹md (make directory) : 创建目录(创建文件夹)rd (remove directory): 删除目录(删除文件夹,注意:前提是文件夹必须是空的!!)如果

中项学员:2015年10月8日作业及下次上课时间调整通知

2015年10月8日作业及下次上课时间调整通知 1.10月13日晚上的课,调到10月11日晚上!2.2015年10月8日作业:(1)梳理出今晚讲的项目整体管理的重点:(2)梳理出今晚讲的项目范围管理的重点:字数不限,最晚提交时间:2015年10月10日. 提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的形式发布在老师布置作业的评论区

中级学员:2015年10月26日作业

中级学员:2015年10月26日作业一.变更管理1.变更的工作程序:2.变更初审的4条内容:3.对进度变更控制,包括哪些主题.二.安全管理1.哪些技术来实现信息的保密性:2.哪些技术来实现信息的完整性:3.哪些技术来实现信息的可用性:4.可靠性的定义,及度量方法.5.应用系统常用保密技术有哪些?6.保障应用系统完整性的方法有哪些?7.机房供配电分为哪8种:8.紧急供电.稳压供电的内容:9.应用系统运行中,涉及4个层次的安全,这4个层次的安全,按粒度从粗到细进行排列:10.哪些属于系统级安全:11

zoj 3625 D - Geek&#39;s Collection(正项无穷级数,麦克劳林展开式,2015年10月AC)

D - Geek's Collection Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Description The word geek is a slang term, with different meanings ranging from "a computer expert or enthusiast" to "a carni

中级学员:2015年10月22日作业

中级学员:2015年10月22日作业一.采购管理1.采购管理的主要过程:2.工作说明书与范围说明书的区别:3.招投标程序是什么:4.采购审计的定义和内容.二.信息(文档)和配置管理1.文档从项目周期角度分为哪三类:2.图表编号规则,说明之:3.配置管理活动和流程:4.简述四种配置库及主要内容:5.简述配置项版本号标识的内容:6.功能配置审计包括哪些内容:7.物理配置审计包括哪些内容. 最晚提交时间:下次上课前. 提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的

陈嘉 2015/07/10 个人文档

姓名 陈嘉 日期 2015/7/10 主要工作及心得 在其他部分的代码合并完成后,我们开始了调试工作.我和赵晓铮负责操作员的调试. 程序合并完成运行后,出现了很多问题.一开始,输入用户名和密码后,并没有反应.没有输入提示信息.我们根据控制台显示的错误信息一一进行修改. 同过修改我明白了前期每个模块质量的重要性.任何一个模块的一点小问题都会导致系统不能正常运行.比如数据结构,函数传参.我们找到问题后由编写相关代码的同学进行修改,最后可以成功实现功能. 遇到的问题 调试过程中遇到无法登录.点击提交没

中级学员:2015年10月27日作业

中级学员:2015年10月27日作业一.项目收尾管理1.项目收尾包括哪三方面内容?2.项目总结的意义;3.项目总结会包括哪些内容:4.项目评估包括哪些方面:5.项目审计的定义.6.一般项目人员转移的流程:二.知识产权管理1.著作权由哪3个要素组成:2.认定职务作品,考虑的前提有哪2个:三.法律法规和标准规范1.标准名称由哪4个要素组成:2.政府采购法,包括哪六种采购方法,以及每种的前提条件:3.教材中,把标准分为基础标准.开发标准.??标准和??标准.四.请背诵教材P180页项目管理知识体系,并