find和grep总是傻傻分不清,为了让自己不再犯傻,觉得有必要记录下两者的区别~

grep是查找匹配条件的行,输出匹配行或含有匹配内容的文件;find是搜索匹配条件的文件。因此,一般情况下,grep的作用域是同目录下的一个文件也可以是多个文件(不包括大神们自己编写脚本实现不同文件夹的grep搜索哈),而find作用域是目录。

  • Linux之find

find 目录路径 选项 [条件] [ -exec command ] {} \\;

选项 作用
-name 指定搜索文件名称
-perm 权限值
-type 指定搜索文件的文件类型
-group gname 搜索组名称为gname的文件

Linux之grep

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Print,表示全局正则表达式版本,它的使用权限是所有用户。不要问我为啥说的这么官方,因为我觉得这套比较高大上,哈哈~~

要求 命令
在文件中搜索“match_pattern”,返回包含的文本行 grep match_pattern file_name 或 grep “match_pattern” file_name
在多个文件中查找 grep “match_pattern” file_1 file_2 file_3 …
统计文件或者文本中包含匹配字符串的行数 grep -c “match_pattern” file_name
输出包含匹配字符串的行数 grep “text” -n file_name 或 cat file_name
在多个文件查找并输出包含匹配字符串的行数 grep “text” -n file_1 file_2

想看完整的我嘛~~

收藏 打印