Linux命令:grep和awk

参考资料:

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是对文件或者字符串按照指定的规则进行抽取。

(先写到这里,上班了)

你可能感兴趣的:(Linux)