grep的使用【转】
grep的作用是显示匹配一个或多个模式的文本行。时常会作为管道(|)的第一步,以便对匹配的数据作进一步处理。grep常用于查找和替换文本的。在传统上,grep有3个版本:grep、egrep(扩展grep)和fgrep(快速grep)。现在grep已经整合成一个,选项:-E和-F分别对应egrep和fgrep。另外还有非标准的agrep。
对于压缩文件,则应使用zgrep, zegrep以及zfgrep,当然对于未压缩文件的也可以使用。功能上类似于grep。grep在Unix、Linux以及windows上均有,这里 仅对Linux上的grep进行简单略述。grep常结合正则表达式使用,但这里并不讲述正则表达式的内容。
语法:
1、grep [OPTIONS] PATTERN [FILE...]
2、grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
示例:
1、使用grep查看root的登录信息行
$ who | grep -F root
或
$ who | grep root
2、不显示以a开头的行
$ ls -l | grep -v '^a'
3、忽略模式匹配大小写
$ grep -i ‘abc’ file.txt
grep默认情况下区分大小写的。
4、将/dev/null作为第二个文件参数使用
$ grep 'abc$' file.txt /dev/null
5、使用文件路径递归查找与模式匹配的文件的文件名
$ grep -ril ‘abc’ /etc/passwd
6、高亮匹配字
$ man grep | grep --color -e --color
常用选项:
-E 使用正则表达式进行匹配。grep -E可取代传统的egrep。
-F 使用固定字符串进行匹配。grep -F可取代传统的fgrep命令。
-e PATTERN, --regexp=PATTERN 可指定参数为模式,用于防止以“-”开头的模式被解释为命令选项。多模式可使用换行字符分隔。
-f FILE, --file=FILE 从FILE文件读取模式做匹配。
-i 模式匹配时忽略字母大小写差异。
-w 只显示单词严格匹配的行。
-x 只显示整行严格匹配的行。
-s 不显示错误信息。通常与-q并用。
-v 显示不匹配模式的行。
-b 在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量。
-n 在输出前加上匹配串所在行的行号(文件首行行号为1)。
-c 只显示匹配行的数量。
-h 在查找多个文件时,指示grep不要将文件名加入到输出之前。
-l 列出匹配模式的文件名称,而不是打印匹配的行。
-q 静默地。如果模式成功匹配,则grep会成功的离开,而不讲匹配的行写入标准输出;否则即是不成功。
-r 递归搜索目录
PS:
在最后的100行中查找:tail -n 100 filename | grep XXX
从前往后查找: cat xxx | grep xx
从后往前查找:tac xxx | grep xx
grep的使用【转】的更多相关文章
- grep 查找bash脚本中的注释代码
出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释 ...
- linux grep命令
linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...
- linux中grep的应用
h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...
- Linux命令-文件文本操作grep
文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...
- 4-4 grep及正则表达式
1. grep:Globally search a Regular Expression and Print:根据模式搜索文本,并将符合模式的文本行显示出来 pattern:文本字符和正则表达式的元字 ...
- grep 命令过滤配置文件中的注释和空行
grep 用法 Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. ...
- sed awk grep三剑客常用
sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...
- awk命令和grep命令的使用
1.遇到需求:用ping命令去检测系统网络延迟 跑 ping baidu.com -c 3,想要直接得到平均延迟. ping baidu.com -c 3 | grep rtt | awk -F \/ ...
- grep 命令
简单介绍:grep命令是用于分析一行信息,若当中有我们所需要的信息,就将该行取出来. 语法结构:grep [-acinv] [--color=auto] '查找关键字' #{filename} -a: ...
- 使用git grep进行git搜索
1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo 显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...
随机推荐
- web自动化-selenium2入门讲解(mac版本)
最近要做一个selenium2的分享,于是总结了下我用selenium2的感受,希望分享出来,可以对入门的小伙伴有一点帮助,也希望得到大佬的指教 一,环境搭建maven+selenium2+tes ...
- async-validator 的中文文档翻译
阿里出品的 antd 和 ElementUI 组件库中表单校验默认使用的 async-validator,它在 gitbub 上也获得了 3.8k 的 star,可见这个库十分强大,奈何只有英文文档看 ...
- 三、Git 分支
使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线.有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 1.分支简介 ...
- Mysql干货收集
mysql优化:https://www.cnblogs.com/duanxz/tag/mysql/default.html?page=1
- docker mysql 数据持久化到本地、设置不区别表名大小写-清风柳絮-51CTO博客
原文:docker mysql 数据持久化到本地.设置不区别表名大小写-清风柳絮-51CTO博客 Docker MySQL 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可 1.加上-v参数 ...
- jvm 虚拟机参数_方法区内存分配
1.方法区( 永久区 ) 和堆一样,方法区是一块所有线程共享的区域,他用于保存系统类的信息.默认情况下 -XX:MaxPermSize 为 64m.如果系统运行时产生大量的类,就需要设置一个合适方法区 ...
- LaTeX 插图片
本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50240371 这里列出3种LaTeX中 ...
- 手写一个节点大小平衡树(SBT)模板,留着用
看了一下午,感觉有了些了解.应该没有错,有错希望斧正,感谢 #include<stdio.h> #include<string.h> struct s { int key,le ...
- 数据仓库工具:Hive
转载请标明出处: http://blog.csdn.net/zwto1/article/details/46430823: 本文出自:[明月的博客] 为什么要选择Hive 基于Hadoop的大数据的计 ...
- iOS知识点汇总
1.怎样追踪app崩溃率.怎样解决线上闪退 当iOS设备上的App应用闪退时.操作系统会生成一个crash日志.保存在设备上.crash日志上有非常多实用的信息,比方每个正在运行线程的完整堆栈跟踪信息 ...