用‘grep’搜索文本文件
如果您要在几个文本文件中查找一字符串,可以使用‘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 的行。
这里还有些用于搜索的特殊符号:
• \< 和 \> 分别标注单词的开始与结尾。
例如:
o grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
o grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
o grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
• '^':指匹配的字符串在行首,
• '$':指匹配的字符串在行尾,
• 如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep 。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-) 。如果您只是需要更清楚的输出,不妨试试 fungrep 。
分享到:
相关推荐
在Linux操作系统的学习中,掌握命令行的使用是至关重要的。...总的来说,Linux学习笔记是一个全面了解和掌握Linux系统操作的基础教程,涵盖了从基本命令到高级管理的诸多方面,对提升Linux技能有很大帮助。
这份"Linux学习笔记(强悍总结值得一看)"是Linux初学者的宝贵资源,也适合有经验的用户作为参考手册。以下是对笔记内容的详细概述: 1. **Linux常用命令**: Linux命令行是其强大的工具,掌握常用命令是Linux学习...
Linux笔记——命令:grep Linux笔记——命令:find Linux笔记——命令:Sort,uniq,join,cut,paste,split Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数 Linux笔记——条件测试test Linux笔记——控制...
Linux 命令学习笔记 本笔记将涵盖 Linux 命令的基本概念、虚拟机的概念、Linux 主要目录结构、Linux 命令速查表、文件和目录常用命令等几个方面。 一、Linux 概念 Linux 是一种免费、开放源代码的操作系统,广泛...
这份"超详细的Linux学习笔记"涵盖了Linux运维管理的多个重要方面,包括DNS(Domain Name System)、Samba、Apache、Sendmail以及常用的Linux命令。让我们逐一探讨这些知识点。 首先,DNS是互联网上的名称解析服务,...
【Linux学习笔记】这篇超全总结涵盖了Linux操作系统的基础知识,特别是关于命令行的使用和快捷键,以及一些桌面环境下的快捷操作。以下是笔记中的主要内容: 1. **LINUX常用操作命令**: - `clear`:清空终端屏幕...
《马哥的Linux学习笔记》是一份针对初学者和进阶者精心编撰的Linux教程,旨在帮助读者全面掌握Linux操作系统的核心概念、命令行操作以及系统管理技能。这份笔记以清晰明了的语言和实例解析了Linux系统的各个方面,是...
Linux学习笔记PDF文档.pdf是一个详尽的资源,旨在帮助初学者和有经验的用户深入理解Linux操作系统。Linux作为开源的类Unix系统,以其稳定、安全和可定制性在全球范围内广泛应用于服务器、桌面环境以及嵌入式设备。这...
在IT领域,Linux是一种广泛...这些只是Linux学习笔记的冰山一角,实际的学习过程中,你还需要深入了解文件系统、设备管理、软件编译、系统服务配置等多个方面。持续实践和探索,你将逐渐掌握这个强大而灵活的操作系统。
以上就是Linux系统中一些常用命令的学习笔记。每个命令后面通常可以跟上不同的选项和参数,来满足不同的需求。掌握这些命令,对于Linux系统的日常运维工作至关重要。随着时间的推移,建议持续学习和实践,不断提高对...
### Linux学习笔记与命令总结 #### 一、Linux基础概念 1. **Kernel 内核**: Linux 的核心部分,负责管理系统的硬件资源,并提供必要的服务给其他系统软件和应用程序。 2. **Shell 外壳**: 用户与操作系统之间的...
这篇Linux学习笔记主要涵盖了在Linux环境中的一些基本操作和快捷键,对于初学者来说是非常有价值的资源。 首先,笔记介绍了Linux命令行的基本操作,这对于日常的系统管理和问题排查至关重要。例如,`Ctrl + a` 和 `...
Linux是开源的操作系统,广泛应用于服务器、嵌入式...以上是Linux学习中常见的命令和使用场景,熟练掌握这些命令可以极大提高日常的Linux操作效率。在实际操作中,可以根据需要结合使用,解决各种系统管理和维护问题。
### Linux学习笔记知识点详解 #### 一、用户与权限管理 **1. 切换当前用户** - **命令格式**: `su [要切换的用户名]` - **示例**: `su root` - **解释**: 使用`su`命令可以切换到另一个用户身份进行操作。如果...
Linux学习笔记和命令操作详解是IT初学者及进阶者不可或缺的参考资料,它涵盖了Linux操作系统的基础知识,特别是关于命令和文件架构的详细内容。这里,我们将深入探讨这些关键概念。 首先,Linux目录架构遵循一种...
这些只是Linux学习笔记中可能会涵盖的一部分内容,实际的学习资料可能会更详细地介绍每个命令的参数、使用场景和实例。通过深入理解和实践这些命令,你将能够更好地掌握Linux系统,并为在IT领域的工作打下坚实的基础...
### Linux学习笔记(强悍总结值得一看) #### 一、Linux常用操作命令及命令行编辑快捷键 Linux系统作为一款强大的开源操作系统,在服务器管理和日常开发工作中都有着广泛的应用。掌握其基本命令和快捷键对于提高...