本文属贫僧不吃肉原创,欢迎转载,转载请注明出处 http://never-say-never.iteye.com/blog/851514
1.相关背景
1.1 Filter(过滤器),是指一些程序,他们从标准输入读取数据,对数据进行操作,然后将产生的结果输出到标准输出。他们是非交互的,即没有提示或等待输入。
1.2检索过滤器: grep 、 fgrep 、 egrep
这些命令检索与target或pattern相匹配的文本,我们可以用它们从文件中提取信息、从一个命令的输出数据中检索与某一项相关的行为以及查找包含特定单词的文件。
1.3 区别
grep:最常用。可以检索目标(一个或多个单词或正则表达式)
fgrep(fixed grep):不能使用正则表达式,可以检索多个目标,等同于grep –f
egrep(extended grep):支持更丰富的正则表达式,而且支持多目标检索,他比grep快得多,等同于grep -e。
2.grep基本用法
2.1从一个或多个文件中检索包含某个target的行,然后打印所有匹配的行。
先打开一个文件看一下内容
$ cat daily_log
just for myself
I just love u
end
在这个文件里查找包含“just”的行
$ grep just daily_log
just for myself
I just love u
2.2 grep检索含空格的短语
$ grep “just love” daily_log
I just love u
注意:如果just和love出现在不同的行,grep就不会匹配它们,因为grep一次只检索一行。
2.3当只记得关键字,不记得文件名的时候,怎么办呢?
$ grep just *
daily_log: just for myself
daily_log: I just love u
other_file: just unix
3.grep的一些常用通道
3.1 grep是区分大小写的
$ grep –i JUST daily_log 和 $ grep –i just daily_log 不同
说明:使用-i(ignore case)可以忽略字母大小写
3.2 grep -n列出检索目标所在的行号(line-number)
$ grep –n just daily_log
1: just for myself
2: I just love u
3.3 grep –l (list)不打印匹配的行,而打印包含目标的文件名
$ grep –l just *
daily_log
other_file
3.4 转换方向(-v),转换方向是grep挺有意思的一个实现,即和正常情况相反,grep输出未包含target的行或文件
$ grep –v just daily_log
end
$ grep –v end daily_log
just for myself
I just love u
3.5 grep –c ,统计匹配的行总数(count),不显示行信息
$ grep –c just daily_log
2
$ grep –c end daily_log
1
参考文献:
1. “UNIX手册”之类的名字吧,在图书馆看的,忘了名字,后来也没找到书。
2.《Linux常用指令速查手册》,杨艳玲,化学工业出版社
3.《UNIX实用教程第五版》,Paul K. Andersen, 人民邮电出版社
分享到:
相关推荐
Unix的grep家族包括grep、egrep和fgrep。Windows系统下类似命令FINDSTR。 grep egrep fgrep(不支持正则表达式) grep需要标准输入 因此常常位于管道右侧 命令参数: –color=auto: 对匹配到的文本着色显示 -v: 显示不...
在Unix和Linux系统中,`grep`命令是最常用的文本搜索工具之一。它的全称是Global Regular Expression Print(全局正则表达式打印),主要用于在文本文件中搜索指定的模式。当找到匹配模式的行时,`grep`会打印出这些...
grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep
在 Unix 系统中,grep 有三个变体:grep、egrep 和 fgrep。egrep 是 grep 的扩展,支持更多的正则表达式元字符;fgrep 即 fixed grep,它不解析正则表达式,而是将搜索模式视为固定字符串。 在 Linux 中,通常使用...
本学习资料主要涵盖了Linux和Unix的基础编程知识,包括了14个章节,旨在帮助初学者掌握这些操作系统的基本操作和编程技能。 首先,我们从最基础的命令行交互开始。在Linux和Unix系统中,命令行界面是日常工作的核心...
### Grep学习笔记知识点详解 #### 1. Grep简介与功能 Grep,全称为Global Search Regular ...无论是基础的正则表达式应用,还是复杂的多文件搜索,Grep都能轻松应对,是每个程序员和系统管理员的必备技能之一。
《永远的UNIX SCOUNIX基础讲座》是一份专为初学者设计的教程,旨在引导读者深入了解UNIX操作系统的基础知识。UNIX系统是计算机科学历史上的一个里程碑,它的设计理念和功能至今仍对现代操作系统产生深远影响。这份...
### Unix基础知识与Shell编程 #### 1. Unix环境介绍 Unix是一种多用户、多任务的操作系统,被广泛应用于服务器、超级计算机和个人电脑中。它以其稳定性、安全性、灵活性著称,成为了开发人员和系统管理员的理想...
总的来说,了解和熟练掌握grep和egrep命令是Linux系统管理者的必备技能之一,它们能极大地提高工作效率,帮助快速定位和解决问题。通过实践和不断探索,你将能够灵活运用这些工具解决各种文本处理问题。
grep插件将grep之类的实用程序(grep,fgrep,egrep,agrep,findstr,silver searcher(ag),ripgrep,ack,git grep,sift,platinum searcher和通用代码grep)集成在一起,并允许您搜索模式在一个或多个文件中...
在Unix系统中,grep家族还包括了egrep和fgrep两个变体,egrep提供了对更多正则表达式元字符的支持,而fgrep则是将所有字符视为固定字符串,不考虑元字符的特殊含义。 在Linux中,通常使用的是GNU版本的grep,它拥有...
例如,`fgrep`由于不解析正则表达式,通常比`grep`和`egrep`快,但在灵活性方面有所牺牲。书中讨论了如何根据具体需求选择合适的`grep`类型,并考虑性能因素。 ### 高级技巧和窍门 对于高级用户,《Grep Pocket ...
本教程将深入浅出地介绍Unix的基础知识,帮助初学者快速掌握这个高效的工作环境。 首先,Unix是1969年由肯·汤普逊和丹尼斯·里奇在贝尔实验室开发的操作系统,它的设计哲学强调简洁性和可移植性。Unix提供了丰富的...
9. **文本处理工具**:Unix提供了强大的文本处理工具,如`grep`(搜索文本模式)、`sed`(流编辑器)和`awk`(数据处理语言),它们在数据分析和日志分析中扮演重要角色。 10. **脚本编程**:Unix Shell脚本是自动...
**UNIX的基础教程(适用于初学者)** UNIX操作系统是一款强大的多用户、多任务操作系统,广泛应用于服务器、科研机构和高等教育等领域。对于初学者来说,理解并掌握UNIX的基本操作是至关重要的。这份基础教程将引导你...
在Unix或类Unix系统(如Linux)中,掌握一系列核心命令是进行高效文件管理和系统操作的基础。本文将针对标题中的几个关键命令进行深入解析:`chmod`、`cat`、`more`、`grep`以及`ftp`。 #### 1. `chmod` 命令 `...
UNIX系统中包含大量的命令行工具,如grep、find、awk、sed等,它们是进行数据处理和系统管理的强大武器。熟练使用这些工具可以极大地提高日常工作的效率。 **第八章:系统管理与安全** 理解用户账户管理、权限设置...
通常grep有三种版本grep、egrep(等同于grep -E)和fgrep。egrep为扩展的grep,fgrep则为快速grep(固定的字符串来对文本进行搜索,不支持正则表达式的引用但是查询极为快速)。grep是Linux文本处理三剑客之一。 ...
grep-2.5.4-setup.exe grep (global search regular [removed]RE) and print out the line,全面搜索正则表达式并把行打印出来)是...Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。eg