首页 > 电脑 > Linux C语言检查文件内容是否包含关键字

Linux C语言检查文件内容是否包含关键字

电脑 2023-01-03

Linux C语言检查文件内容是否包含关键字

#!/bin/bash
FILE="/etc/resolv.conf"#文件
OBS="nameserver8.8.8.8"#监视行
#如果不想那么累、用用Bash也可以、
whiletrue
do
grep"$OBS"$FILE>>/dev/null
if[$?-ne0]
then
echo$OBS>>$FILE
fi
sleep15s
done

C语言如何判断字符串里的关键字

用函数strstr(const char *s,char *str)。调用时在关键字后加一个空格,如char *p=strstr(s,"var ");,那么,当字符串s中有var这个组合,且在一个空格前时,p就是接收第一个字符v的地址;若没有这个组合,则p=NULL。

请问:在Linux下某一个文件夹下,如何查找包含某一个字符串的文件

# find -type f -name "*.c" | xargs grep "" 是你要找的文件夹;如果是当前文件夹可以省略 -type f 说明,只找文件 -name "*.c" 表示只找C语言写的代码,从而避免去查binary;也可以不写,表示找所有文件 是你要找的某个字符串

C语言中如何在文件内查找关键字并替换?

获取关键字,得到它的长度,然后从操作文件中读取这么长的字符串,进行比较,把 文件指针 指向下一个字符(注意,要一个字符一个字符的向下进行),这样就可以把需要的关键字找出来,如果想替换的话,把读取出的数组改成想要得再写入,最后别忘记fclose();

怎么用c语言输入一个文件名的某些关键字,就可以自动在某个盘里面搜索其是否存在?最好能用二分法实现

这个最适合用递归函数来写,代码如下请参考:

#include
#include
#include
intfindFile(char*dir,char*pstr)
{
chartmp[512];
struct_finddata_tfd;
sprintf(tmp,"%s\\*.*",dir);
longhandle=_findfirst(tmp,&fd);
do{
if(fd.attrib==_A_SUBDIR)
{
sprintf(tmp,"%s\\%s",dir,fd.name);
findFile(tmp,pstr);//子目录就递归调用
}
else
{
if(strstr(fd.name,pstr))//文件就根据名字查找关键字符
printf("%s\\%s\n",dir,fd.name);//显示已经找到
}
}while(!_findnext(handle,&fd));
_findclose(handle);
return0;
}
intmain()
{
//列出D盘(包括子目录)文件名有aaa字母的文件
findFile("D:","aaa");
return0;
}

标签:信息技术 C(编程语言) CC++ 编程 编程语言

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18