如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。
假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件:

$ grep magic /usr/src/linux/Documentation/* 
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?

其中文件‘sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。

默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:

grep: sound: Is a directory

这可能会使‘grep’的输出难于阅读。这里有两种解决的办法:

  • 明确要求搜索子目录:grep -r
  • 或忽略子目录:grep -d skip

当然,如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读:

$ grep magic /usr/src/linux/Documentation/* | less

这样,您就可以更方便地阅读。

有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 <CTRL c> ,然后再试。

下面是一些有意思的命令行参数:

  • grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
  • grep -l pattern files :只列出匹配的文件名,
  • grep -L pattern files :列出不匹配的文件名,
  • grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
  • grep -C number pattern files :匹配的上下文分别显示[number]行,
  • grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
  • grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

这里还有些用于搜索的特殊符号:

  • /< 和 /> 分别标注单词的开始与结尾。
    例如:

    • grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
    • grep '/<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
    • grep '/<man/>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
  • '^':指匹配的字符串在行首,
  • '$':指匹配的字符串在行尾,
  • 如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep 。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-) 。如果您只是需要更清楚的输出,不妨试试 fungrep 。

转载于:https://www.cnblogs.com/longlee/archive/2013/04/05/3000763.html

[转]linux grep命令的使用相关推荐

  1. linux grep命令总结

    风生水起 善战者,求之于势,不责于人,故能择人而任势. 博客园    首页    新随笔    联系    订阅    管理 posts - 791,  comments - 394,  trackb ...

  2. Linux grep 命令初步学习

    Linux grep 命令用于查找文件里符合条件的字符串. grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显 ...

  3. Linux grep命令、Linux cd命令、Linux pwd命令

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式 ...

  4. linux grep命令参数及用法详解---linux管道命令grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  5. linux grep命令例子,详解linux grep命令

    本文介绍了linux grep命令,具体如下: 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regu ...

  6. linux grep命令详解

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  7. [转]linux grep命令

    转自:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则 ...

  8. Linux grep命令分析以及C语言版本的实现

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...

  9. Linux Grep 命令说明

    一. Grep 说明 grep (global search regular expression(RE) and print out the line)是一种强大的文本搜索工具,它能使用正则表达式搜 ...

  10. linux grep命令详解_Linux 上USB 调试神器lsusb命令详解

    大家好, 我是吉阿, 今天给大家介绍Linux上USB调试工具lsusb命令. ​ USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,早期用于规范电脑与 ...

最新文章

  1. java执行class找不到_命令行运行java的class文件提示找不到或无法加载主类
  2. java_泛型 TreeSet 判断hashcode/length(升序排列)
  3. 今年期末微积分考试试题:看看你能够在两个小时内做对几道题?
  4. 计算几何中的线段相交判断问题
  5. Linux 技巧:让进程在后台可靠运行的几种方法(转)
  6. stm32_CAN总线知识
  7. 下面有关java类加载器牛客网_下面有关java classloader说法错误的是?
  8. Shiro集成Web时的Shiro JSP标签
  9. Golang 词法分析器浅析
  10. 1304. 和为零的N个唯一整数
  11. 编程面试问题越难越好?!
  12. IE主页简单篡改修复
  13. springboot 后台管理框架
  14. Powershell————2、Powershell交互式
  15. win10移动热点按钮打开后立刻自动关闭
  16. 《掌舵》-还原一个真实的政商圈
  17. NumPy学习笔记前言
  18. jquery mouse事件小坑
  19. 舍斯托夫与尼采和《圣经》思想--舍斯托夫的著作《雅典与耶路撒冷》 [ZZ]
  20. Win10修改msconfig后无法开机怎么办?

热门文章

  1. 自定义安装Office 365(适用于个人版订阅等)
  2. 视频课--高斯消元法习题课
  3. 环评师c语言题目,C语言考试——编程题_文库吧
  4. 宿迁高考成绩查询2021,2021宿迁市地区高考成绩排名查询,宿迁市高考各高中成绩喜报榜单...
  5. IBM赌未来:量子计算服务IBM Q系统今年上线
  6. 章泽天又晒27岁生日照:刚刚又重返18岁!
  7. 计算机突然断电后 硬盘中的数据,电脑突然断电对硬盘有影响吗?实测便知
  8. PCB抄板最新方法及步骤
  9. Spring.NET企业架构实践之 JQuery + FlexiGrid + ASP.NET MVC + NVelocity + WCF + LINQ + NHibernate 综合应用
  10. the jar file has no source attachment解决方法