欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【linux命令学习-001】 grep命令解析

程序员文章站 2024-02-23 23:26:28
...

1、简介

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

Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

2、grep命令说明

[[email protected] ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-r : 递归遍历当前目前下的所有子目录及文件
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示
--exclude-dir : 排除指定的目录

3、常用举例说明

3.1、在当前目录及字母目录下搜索指定文本并将结果输出到终端

grep -rn "text"

3.2、在当前目录及字母目录下搜索指定文本并将结果输出到指定文本,借助重定向符

grep -rn "text" > log.txt

3.3、在当前目录及子目录下搜索指定文本,但是排除特定的目录不做搜索

grep -rn "text" --exclude-dir="inlcude" > log.txt

3.4、在特定的文件中搜索指定文本

grep -rn "root" /etc/passwd > log.txt