linux中grep和find的区别
这是两个不同的命令,关于grep:
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
而linux下的find
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。?
语法:find 起始目录 寻找条件 操作?
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
所以简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。这是两个不同的命令,关于grep:
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
而linux下的find
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法:find 起始目录 寻找条件 操作
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
所以简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件。还是老外的解释简洁。
gerp search a pattern from current directory.
egrep (grep -e in linux) is extended grep where additional regular expression metacharacters have been added like +, ?, | and ().
fgrep (grep -f in linux) is fixed or fast grep and behaves as grep but does not recognise any regular expression metacharacters as being special.1.
linux中的find等同与win中的搜索文件。
find是在磁盘/分区中找到文件,可以配type可以配size time等,通过文件名或文件大小或访问时间找到指定文件。
linux中的grep等同与win中的findstr命令。可以在一个txt文本中截取到有特定关键字的行,并显示出来。
grep也可以通过关键字,在一个文件夹下查找多个有这些关键字的文件,并生成结果。
可以详细参考find命令在百度的文库文档
根据某些规则查找文件。
grep是在某路径下的查找存在相关特定关键字串的文件grep是查找文件内的内容,find是查找文件名。
比如grep 'text' *就是查找当前文件夹中所有包含“text”的文件
find -name 'text' 就是查找一个叫text的文件。
Linux下用C语言实现grep功能(急)
/* 一组宏定义,不过此函数没有用 */
#define ESIZE 1024
#define INIT register unsigned char *sp=instring;
#define GETC() (*sp++)
#define PEEKC() (*sp)
#define UNGETC(c) (--sp)
#define RETURN(c) return c;
#define ERROR(c) { regerr(c); return(NULL); }
#include "stdio.h"
#include "string.h"
/* 这是什么头文件?? */
#include "regexp.h"
/* 此文件内定义的全局变量 */
int i;
unsigned char *nextpos;
static unsigned char lbuf[512], ebuf[ESIZE];
FILE *fp;
/* 函数声明 */
int regerr();
/* 可接受命令行参数 */
int main(int argc,char *argv[])
if(argc < 3) /* 输入的参数不足三个,出错 */
{
/* 向标准出错设备输出信息 */
fprintf(stderr,"Use: %s regular_expr files ..\n",argv[0]);
exit(-1); /* 退出程序 */
}
/* 没见过compile函数 */
nextpos = compile(argv[1], ebuf, &ebuf[ESIZE],'\0');
if(nextpos)
for(i=2;i { if((fp=fopen(argv[i],"rb"))==NULL) printf("%s: read failure.\n",argv[i]); else /* 没见过step函数 */ while(fgets(lbuf,sizeof(lbuf),fp)) if(step(lbuf,ebuf)) printf("%s: %s",argv[i],lbuf); fclose(fp); /* 关闭文件 */ } /* 向标准出错设备输出信息,即屏幕 */ int regerr(int c) /* 函数不完整,返回值没用 */ fprintf(stderr,"Error %d.\n", c); grep的功能 grep从一个或多个文本文件中查找符合指定范本(正则表达式)的行,并把查找结果输出到指定设备(默认到屏幕)。 正则表达式?还要模式匹配?有点小复杂啊。。。 原创文章,作者:墨羽SEO,如若转载,请注明出处:https://www.moyuseo.com/fuwuqi/4639.html