参考资料:
https://www.cnblogs.com/wangcp-2014/p/5146335.html
https://www.cnblogs.com/flyor/p/6411140.html
之前在写MySQL同步脚本时学习了grep和awk的用法,秉着温故而知新的想法,参考了上面两篇博客,加上自己理解和实践,再学习一遍,做个笔记。
grep
grep主要用来对文本进行处理,对指定的字符进行匹配筛选,并将匹配的行返回打印出来(注意是匹配的那一行),是一个非常强大的文本搜索工具,先看下grep有哪些常用option
-i 忽略大小写,我在之前的脚本中也使用了,就是对于后面的搜索文本匹配时不考虑大小写;
-E 开启扩展的正则表达式,我的理解是使grep可以按照后面的正则表达式来匹配;
-v (注意是小写的v,如果是大写的V,即为显示版本信息)反转匹配,即将不匹配的打印出来,匹配的反而不打印;
-c 显示匹配的有多少行,应该是count的意思,当和反转结合使用时,就代表输出不匹配的内容有多少行;
-o 只显示匹配到字符串
-A n 显示匹配的所在行以及之后(After)的n行,例如grep -A 10 "test" /root/test.txt,显示test.txt文件中test所在的行以及之后的10行;
-B n 与上面相反,显示匹配的所在行以及之前(Before)的n行;
-C n 显示匹配的所在行以及前后上下文(Context)各n行;
-w 匹配的是一列,即是一个完整的单词而不是单词中包含的某几个字母
awk
awk是对文件或者字符串按照指定的规则进行抽取。
(先写到这里,上班了)