mks.c

来自「用于搜寻linux操作系统访问过的文件」· C语言 代码 · 共 65 行

C
65
字号
#include <stdio.h>#include <stdlib.h>int main(int argc,char *argv[]){		FILE *sfd,*dfd;	char sbuff[10][200];	char dbuff[1024];	char thedir[1024];	int count;	if (argc!=4)	{		printf("Args:mkscript sourfile destfile date(YYYY-MM-DD)\n");		exit (1);	}	sfd=fopen(argv[1],"rb");	if (sfd==NULL)	{		printf("open soure file fail!\n");		printf("use:ls -RAltruCG --full-time /*>sourefile\n to create one!");		exit(1);	}	dfd=fopen(argv[2],"w+b");	if (dfd==NULL)	{		printf("create destfile fail!\n");		exit(1);	}	thedir[0]=0;	while (1)	{		memset(&sbuff[0],sizeof(sbuff),0);		if ((count=fscanf(sfd,"%s %s %s %s %s %s %s %s %s %s\n",sbuff[0],sbuff[1],sbuff[2],sbuff[3],sbuff[4],sbuff[5],sbuff[6],sbuff[7],sbuff[8],sbuff[9]))==EOF)			break;		if (sbuff[0][0]=='/')		{			strcpy(thedir,sbuff[0]);			thedir[strlen(thedir)-1]='/';//replace the ':' with '/'			fprintf( dfd,"mkdir /modout%s \n",thedir);			continue;		}		if (strcmp(sbuff[4],argv[3]))			continue;		if (sbuff[0][0]=='l')		{			if (sbuff[9][0]=='/')				fprintf(dfd,"cp -f %s /modout%s\n",sbuff[9],sbuff[9]);			else				fprintf(dfd,"cp -f %s%s /modout%s%s\n",thedir,sbuff[9],thedir,sbuff[9]);			fprintf(dfd,"cp -df %s%s /modout%s%s\n",thedir,sbuff[7],thedir,sbuff[7]);		}		else		{			if (sbuff[0][0]=='d')//Ŀ¼				fprintf(dfd,"mkdir /modout%s%s\n",thedir,sbuff[7]);			else				fprintf(dfd,"cp -f %s%s /modout%s%s\n",thedir,sbuff[7],thedir,sbuff[7]);			continue;		}	}	fclose(dfd);	fclose(sfd);	exit(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?