[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
学习笔记第二十五节课
时间:
2018-04-26 00:50:58
阅读:
219
评论:
0
收藏:
0
[点我收藏+]
正则介绍_grep
正则就是一串有规律的字符串,包含特殊符号。
对以后的写shell脚本很大的帮助。可以实现很多复杂的需求。
第一个工具 grep
grep 用来过滤关键词。
-c 行数,过滤出来的这些行有多少行。
做实验,先把etc/passwd 作为一个样本文件 cp 到 创建的grep目录下。
然后 用grep 过滤 nologin grep有一个好处,在过滤关键词的时候,会自动对关键词上颜色。
然后用-c 选项 可以显示刚才过滤的 有多少行。
-n选项可以显示带颜色的 行号。
-i选项不区分大小写。 比如 文件中有一个nologin 是大写的,那在-n显示的时候 就不会过滤出来 但是加了i 就会显示。
-v是取反的意思,就是一个文件中,不带关键词的都被过滤掉了 -v就是把被过滤掉的显示出来。
-r就是遍历所有子目录。比如过滤 包含root 的etc下所有目录,它就会显示出来。 不加-r 他会提示这是一个目录。
只能针对文件去做 不加r 的过滤。
在刚才的-r 过滤中也过滤出了 passwd 的含有root的 内容,如果向上翻找很麻烦的话,可以重定向到一个文件里去,这样就能很快查看到 你想要的结果了。
-A +数字 就是把你过滤出来的关键词加上关键词下面的数字行 比如 A2 就会列出 关键词下面的两行。
-B和A类似 是以上数字行
-C是A和B的结合 会列出关键词行数的上下各数字行。
grep/egrep 示例
grep的用法有很多,比如过滤文件中的数字。 加上-v就是除了数字外都过滤出来,但是这个文件中没有不包含数字的行。
grep 也可以过滤 文件中以某个字母或者符号开头的 用^ ,^的意思是以什么开头,。加上-v就是除了us开头的都过滤出来。
以后可能会看很多服务相关的配置文件,就可以用这个方法,把带#的注释的行过滤掉。
还有一种用法,就是把除了数字或者字母 或者特殊符号 以外的都给过滤出来。这个和过滤数字正好相反。
还有个操作就是 ^[^0-9] 这个字符串的意思就是以非数字的开头的行 过滤出来、
^ 这个字符 放在方括号外面 是以什么开头 放在里面就是取非。
grep ‘r.0‘ passwd 【.】点的意思就是任意一个字符,可以从操作中看出,r和o直接是任何字符都可以过滤出来。包括数字 特殊符号 还有. 本身、
grep ‘m
er‘ passwd
的意思是 在*前面的字符重复0-n次 这个n是表示多少次都可以。
【.*】组合起来就是 过滤所有字符,因为.表示任意字符。
{}在grep中直接写是没有任何意义的 就是一个花括号。 但是在正则中用法可以表示前面字符重复的一个范围,就是加上脱译。
如果觉得这样写很麻烦 加脱译符号很别扭, 可以用egrep 这样就不用脱译符号就可以识别了。
或者是不用egrep 用grep -E
也可以写多个字符 的重复范围,要加() 表示一个整体,加这个也要egrep 或者 -E 来脱译这个()。
和
挺像的, 想用+ 要脱译或者用egrep +号是前面的字符一次或者多次, 没有0。 (也就是说比如m
er er前面如果没有m 就是代表er前面为0,也会把er显示出来,但是+er的话 不显示0 就是只会显示 带有m和er 的字母组合) *是0到多次。
?表示在?前面的字符重复次数为0或者1 要么有 要么没有。(比如m?er er前面如果m很多 只会显示一个,)
| 在这里表示的意思是或者。
学习笔记第二十五节课
原文:http://blog.51cto.com/13645927/2107869
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!