2016 - 2024

感恩一路有你

linux中grep命令的用法实例 grep与find的区别?

浏览量:3410 时间:2023-05-03 08:47:51 作者:采采

grep与find的区别?

使用linux时,经常需要查找文件。其中find和grep是主要命令。这两个命令有所不同。

差异:

(1)查找命令是根据文件的属性进行查找,如文件名、文件大小、所有者、所属组、是否为空、访问时间、修改时间等。

(2)grep根据文件的内容进行搜索,按照给定的模式匹配文件的每一行。

以下是对两者区别的详细解释:

查找命令:

基本格式:findpath表达式

1.按文件名搜索

(1)find/-name #在根目录中查找文件,也就是搜索整个硬盘。

(2)在/etc目录中找到/etc-name #文件。

(3)find /etc -name #39*srm*#39#使用通配符*(0或任何倍数)。意思是用字符串 SRM 在/etc目录下的文件名中。

(4)寻找。-name #39srm*#39 #表示查找文件名以字符串 SRM 在当前目录中。

2.根据文件特征搜索

(1)find/-amin -10 #查找系统中最近10分钟内访问过的文件(访问时间)。

(2)find/-atime -2#查找系统中最近48小时内访问过的文件。

(3)find/-empty #查找系统中为空的文件或文件夹。

(4)find/-group cat#查找系统中组为cat的文件。

(5)find/-mmin -5#在系统中查找最近5分钟内修改的文件(修改时间)

(6)find/-mtime -1 #查找系统中最近24小时内修改的文件。

(7)find/-user fred #在系统中查找属于用户fred的文件。

(8)find/-size 10000c #找出大于10000000字节的文件,(c:字节,w:,: KB,M:MB,: GB)。

(9)find /-size -1000k#找出小于1000KB的文件。

3.使用混合搜索方法查找文件

参数是:!,-和(-a),-或(-o).

(1)find /tmp -size 10000c -aNd -mtim:。

基本格式:查找表达式

1.主要参数

[选项]主要参数:

-c:只输出匹配行数。-i:不区分大小写。

-h:查询多个文件时不显示文件名。

-l:查询多个文件时,只输出包含匹配字符的文件名。

-n:显示匹配的行和行号。

-s:不显示不存在或没有匹配文本的错误消息。

-v:显示不包含匹配文本的所有行。

模式正则表达式的主要参数:

:忽略正则表达式殊字符的本义。

:匹配正则表达式的起始行。

$:匹配正则表达式的结束行。

Lt:从匹配正则表达式的那一行开始。

Gt:匹配正则表达式的行尾。

【】:单字符,如【A】,即A符合要求。

[-]: range,比如[A-Z],即A,B,C,Z都满足要求。

。:所有单个字符。

*:有字符,长度可以为0。

第二步:例子

(1)grep #39test#39 d*#显示以d开头的文件中包含test的所有行

(2)grep ;测试与测试。;aabbcc #显示aa、bb和cc文件中包含测试的行。

(3)grep ;{ 5 } aa #显示包含每行至少有5个连续小写字符的字符串的所有行。

(4)grep magic /usr/src#显示/usr/src目录(不包括子目录)中的文件包含魔线。

(5)grep -r magic /usr/src#显示包含magic的/usr/src目录下的文件(包括子目录)中的行。

(6)grep -w模式文件:只匹配整个单词,不匹配部分字符串(如matching 魔术与表演。;而不是 神奇的 )

linux grep 消耗性能吗?

消耗性能,因为grep命令用于在文件中查找合格的字符串。

文件 字符 目录 搜索

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。