Linux grep命令学习与总结
来源:互联网 发布:蓝凌软件待遇 编辑:程序博客网 时间:2024/06/07 08:59
Linux grep命令学习与总结
一、grep简述
grep命令是Linux中强大的文本搜索工具,那么grep取名是怎么来的呢?
grep : g (globally) search for a re (regular expression) and p (print ) the results
从上面的英文解释中可以看出,grep命令使用正则表达式搜索文本,并把匹配的行打印出来
二、grep使用格式
grep [OPTION]... PATTERN [FILE]...
三、OPTION
-i:匹配时不区分大小写进行匹配。
-w:匹配时只匹配整个单词,而不是字符串的一部分(如PATTERN='she'时匹配单词she,而不匹配shell)
-h:输出时每行行首不显示文件名。
-H:输出时每行行首显示文件名。
-n:输出时每行显示行号。
-c:输出时只显示每个文件匹配行计数。
-L:输出时只显示不包含匹配项的文件名。
-l:输出时只显示包含匹配项的文件名。
-o:输出时每行只显示匹配项内容
-s:忽略错误信息。
-v:逆向匹配,选择不匹配的行。
-A:After的意思,显示匹配项后n行的数据
-B:before的意思,显示匹配项前n行的数据
-C:显示匹配字符串前后各n行的数据
--color:以特定颜色高亮显示匹配项内容
--color选项是个非常好的选项,可以让你清楚匹配上哪些字符。
最好在自己的.bashrc文件中加入:
alias grep='grep --color=auto'
再以source .bashrc来立即生效即可这样在每次grep搜索之后,自动高亮匹配效果了。
grep 'she' test.txt
grep -i 'she' test.txt
grep -c 'she' test.txt
grep -in 'she' test.txt
grep -v 'she' test.txt
grep -w 'she' test.txt
grep -o 'she' test.txt
grep -C 2 'she' test.txt
着重说下-o参数
假如grep 'she' test.txt输出为
she is beautiful
I like she
则grep -o 'she' test.txt输出为
she
she
意思就是只显示匹配项部分,行中其它部分不显示
另说明下,PATTERN是正则表达式,为了避免shell的元字符对正则表达式的影响,请用单引号('')括起来,不要用双引号括起来("")或者不括起来。
四、PATTERN
基本正则表达式
特别说明:^在PATTERN开始位置出现才表示锚定行的开始,其它位置出现只是作为^字符。
例如:
grep '^help' test.txt 表示匹配以help开头的行
grep 'help^' test.txt 表示匹配包含字符串help^的行
同理,$在PATTERN末尾位置出现才表示锚定行的结束,其它位置出现只是作为$字符。
PATTERN为'^$'表示空行,因为只有行首和行尾
\{n1,n2\}中n2可省略,表示前面字符重复n1至多次,重复次数不设上限
扩展正则表达式
grep一般情况下支持基本正则表达式,可以通过参数-E支持扩展正则表达式,另外grep单独提供了一个扩展命令叫做egrep用来支持扩展正则表达式,这条命令和grep -E等价。
扩展正则表达式
'(help)+'匹配help,helphelp等,注意与'help+'的区别
- linux grep命令学习与总结
- Linux grep命令学习与总结
- Linux grep命令与正则表达式学习
- grep命令学习总结
- Linux命令学习:grep
- Linux中grep命令总结
- Linux中的grep与xargs命令学习笔记
- linux命令学习3-grep
- grep命令---Linux学习笔记
- Linux学习之grep命令
- Linux学习之:grep命令
- Linux grep命令学习记录
- Linux学习-grep命令整理
- linux之cp命令grep命令学习
- Linux命令学习手册-grep命令
- Linux命令学习手册-grep命令
- Linux下find命令与grep命令
- Linux命令 grep&sort&find&uniq 总结
- 系统目录下CSC目录的占用疑问
- WIFI基本知识整理
- iOS --代理设计模式
- cocos2dx编译android游戏中,我踩过的坑_3
- c语言回调函数例子,看了就明白什么是回调函数了
- Linux grep命令学习与总结
- 回到顶部
- VMware CentOS网络连接设置
- CSU 1337 搞笑版费马大定理
- 【面试】引用和指针
- ios代理撰写步骤
- DOM事件 --鼠标拖拽div
- 斯坦福大学iOS应用开发教程学习笔记(第一课) MVC/Objective-C
- C语言基础知识之(七):循环嵌套的用途和规律