Shell命令_正则表达式
test.txt示例文件
|
1
2
3
4
5
6
7
8
9
10
11
12
|
Mr. James said:he was the honest man in Companyy.123despire him.But since Miss.Mary came,she never saaaid thoes words.5555nice!because ,actuaaaaally,Mr.James is the most honest man!Later,Miss Mary soid her hot body. |
|
1
2
3
4
5
6
7
8
9
|
grep "a*" test_rule.txt#匹配所有内容,包括空白行grep "aa*" test_rule.txt#匹配至少包含有一个a的行grep "aaa*" test_rule.txt匹配最少包含两个连续a的字符串grep "aaaaa*" test_rule.txt#则会匹配最少包含四个个连续a的字符串 |
2、.符号的使用(“ .” 匹配除了换行符外任意一个字符)
|
1
2
3
4
5
6
7
|
grep "s..d" test_rule.txt#“ s..d”会匹配在s和d这两个字母之间一定有两个字符的单词grep "s.*d" test_rule.txt#匹配在s和d字母之间有任意字符grep ".*" test_rule.txt#匹配所有内容 |
3、“ ^”匹配行首,“ $”匹配行尾
|
1
2
3
4
5
6
|
grep "^M" test_rule.txt#匹配以大写“ M”开头的行grep "n$" test_rule.txt#匹配以小写“ n”结尾的行grep -n "^$" test_rule.txt#会匹配空白行 |
4、“ []” 匹配中括号中指定的任意一个字符,只匹配一个字符
|
1
2
3
4
5
6
|
grep "s[ao]id" test_rule.txt#匹配s和i字母中,要不是a、要不是ogrep "[0-9]" test_rule.txt#匹配任意一个数字grep "^[a-z]" test_rule.txt#匹配用小写字母开头的行 |
5、“ [^]” 匹配除中括号的字符以外的任意一个字符
|
1
2
3
4
|
grep "^[^a-z]" test_rule.txt#匹配不用小写字母开头的行grep "^[^a-zA-Z]" test_rule.txt#匹配不用字母开头的行 |
6、“ \” 转义符
|
1
2
|
grep "\.$" test_rule.txt#匹配使用“ .”结尾的行 |
7、“ \{n\}”表示其前面的字符恰好出现n次
|
1
2
3
4
|
grep "a\{3\}" test_rule.txt#匹配a字母连续出现三次的字符串grep "[0-9]\{3\}" test_rule.txt#匹配包含连续的三个数字的字符串 |
8、“ \{n,\}”表示其前面的字符出现不小于n次
|
1
2
|
grep "^[0-9]\{3,\}[a-z]" test_rule.txt#匹配最少用连续三个数字开头的行 |
9、“ \{n,m\}”匹配其前面的字符至少出现n次,最多出现m次
|
1
2
|
grep "sa\{1,3\}i" test_rule.txt#匹配在字母s和字母i之间有最少一个a,最多三个a |
Shell命令_正则表达式的更多相关文章
- Shell命令_文件系统常用命令df、du
一.df(文件系统查看命令) [root@localhost ~]# df [选项] [挂载点] 选项: -a 显示所有的文件系统信息,包括特殊文件系统,如 /proc. /sysfs -h 使用习惯 ...
- * 和 ?在 shell 命令行中与在正则表达式中的区别
Linux 正则表达式 你有没有想过,在 shell 命令行中的 *,?和正则表达式中的*,?是否一样? 自打好多年前接触 DOS,就知道了* 和?这两个通配符(Wildcard),象 dir *.* ...
- Linux学习——shell编程之正则表达式和字符处理命令
shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...
- 正则表达式小结,数据预处理中常用的shell命令
数据预处理中,这部分命令非常有用. 不需要编写代码,直接通过shell脚本通常就能修改文件格式.有时候sed和awk联合几乎能实现所有功能. 管道命令 | 重定向命令>,2>,>&g ...
- 任督二脉之Shell中的正则表达式
VBird说学习Linux,掌握了Shell和正则就相当于打通了任督二脉,此后能力的成长才会突飞猛进. Shell的基础学习之前已经总结了一篇博客:http://www.cnblogs.com/jyz ...
- 数据分析常用shell命令
目录 0.vim编辑器 1.awk命令(重要) 1.1 基本语法 1.2 基本用法 1.3 运算符 1.4 内建变量 1.5 其他 1.6 awk是一门变成语言,支持条件判断.数组.循环等功能.所以我 ...
- Shell命令和流程控制
Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...
- Android Java执行Shell命令
最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何 ...
- bash shell命令(2)
在上篇<bash shell命令(1)>中,介绍了几种简单的linux shell命令,今天继续介绍bash shell命令 本文地址:http://www.cnblogs.com/arc ...
随机推荐
- WPF学习笔记(一):数据绑定之元素到元素绑定
前言 作为一只菜鸟,之前学了一段时间的WPF,但是没有总结,过了一学期发现好多东西都忘记了,很多东西还是需要记下来,以备后续复习. 数据绑定在事件中应用非常广泛,可以有效地减少代码量,那么什么是数据绑 ...
- PHP之图像处理
PHP中提供了一些对图像进行编辑处理的函数,其中最为典型的应用为随机图形验证码.图片水印以及数据统计中饼状图和柱状图的生成等 PHP中有的图形函数可以直接使用,但多数需要在安装了GD2函数库后才能使用 ...
- IT菜鸟的3(for循环+分支语句)
第三天学的东西感觉已经不是很容易能想通了,感觉头懵懵的,难道这就是是文科生的障碍吗,我不相信,坚持!相信自己一定会做好! 1:for循环!(1)循环四要素:初始条件,循环条件,循环体,状态改变for( ...
- Oracle 使用MERGE INTO 语句更新数据
/*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句.通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配 ...
- nginx应用总结(2)--突破高并发的性能优化
在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题.今天这里简单梳理下nginx性能优化的配置(仅仅依据本人的实战经验而述,如有不妥,敬请指出~) 一.这里 ...
- Kali linux渗透测试常用工具汇总2-渗透攻击
渗透攻击的思路一般是扫描漏洞,然后利用不同的漏洞,才有针对的渗透攻击. 漏洞扫描的工具有Nessus,该工具可同时在本地或远端遥控,对系统的漏洞分析扫描.Nessus通过新建扫描策略,并添加对应的插件 ...
- Tomcat 5.5启动需要用户名密码的解决方案
我在使用Tomcat的时候碰到这样的问题,然后在csdn里面找到方法,然后保存一份,原帖地址:Tomcat用户名密码,8#原来的tomcat-user.xml是 <?xml version=& ...
- 64位MicrosoftOfficeWord加载EndnoteX7
来源:http://jingyan.baidu.com/article/fcb5aff7a08036edaa4a71d0.html Win10 64bit 安装 Office2016 64bit 加载 ...
- IE6 P标签下DIV无法inline-block
IE6 P标签下的DIV标签无法inline-block,使其触发了hasLayout属性再用csshack 使其inline还是不行,始终要换行 解决:把div标签替换成非div标签,比如span等 ...
- Linux设置环境变量(解决许多命令找不到)
不知道服务器被谁给改坏了,许多命令都不能使用找不到,但是可以在/usr/bin/,/usr/local/bin等里面找到源程序,当时首先想到的就是环境变量,因为Windows在设置了环境变量之后就可以 ...