当前位置: 首页 > news >正文

北京建站公司哪家好样本之家登录网站

北京建站公司哪家好,样本之家登录网站,南阳seo网站建设费用,轻量级服务器wordpress密钥lazarus(pascal)和c语言读日志文件筛选保存为新文件#xff0c;源于看日志每次从一个很多内容文件里查找不方便#xff0c;写个代码输入时分秒参数#xff0c;然后按行读取比较日志时间#xff0c;当前秒和上一秒的输出保存为新文件#xff0c;只保存2秒钟文件小多了…lazarus(pascal)和c语言读日志文件筛选保存为新文件源于看日志每次从一个很多内容文件里查找不方便写个代码输入时分秒参数然后按行读取比较日志时间当前秒和上一秒的输出保存为新文件只保存2秒钟文件小多了容易观察。 首先上pascal代码 program project1;{$mode objfpc}{$H}uses{$IFDEF UNIX}cthreads,{$ENDIF}Classes,SysUtils,CustApp,dateutils { you can add units after this };type{ analyselog }analyselog class(TCustomApplication)protectedprocedure DoRun; override;publicconstructor Create(TheOwner: TComponent); override;destructor Destroy; override;procedure WriteHelp; virtual;procedure outLog(fn,outf,t, nextt: string); virtual;function changeSencond(dt: ttime; d: integer): ttime; virtual;end;{ analyselog }procedure analyselog.DoRun;varfn: string;dt1,dt2: string;dt: TTime;beginif GetParamCount 1 thenbegindt2: GetParams(1);writeln(dt2);dt : changeSencond(StrToTime(dt2), -1);dt1 : timetostr(dt);writeln(dt1);fn : format(%s/dms-jc5000.txt, [GetParams(2)]);writeln(GetParams(2));writeln(fn);if FileExists(fn) then outLog(fn,jc5000.txt,dt1, dt2);if GetParamCount 2 thenbeginfn : format(%s/dms-all.txt, [GetParams(2)]);if FileExists(fn) then outLog(fn,dmsall.txt,dt1, dt2);endendelseWriteHelp;Terminate;end;constructor analyselog.Create(TheOwner: TComponent);begininherited Create(TheOwner);StopOnException : True;end;destructor analyselog.Destroy;begininherited Destroy;end;procedure analyselog.WriteHelp;begin{ add your help code here }writeln(normal usage example: , ExeName, 06:39:37 /root/logs );writeln(then we will get /root/logs/jc5000.txt from 06:39:36 to 06:39:37);writeln(other usage example: , ExeName, 06:39:37 /root/logs all);writeln(then we will get /root/logs/jc5000.txt and /root/logs/dmsall.txt from 06:39:36 to 06:39:37);end;function analyselog.changeSencond(dt: ttime; d: integer): ttime;varHour, Min, Sec, MSec: word;beginDecodeTime(dt, Hour, Min, Sec, MSec);Sec : Sec d;Result : EncodeTime(Hour, Min, Sec, MSec);end;procedure analyselog.outLog(fn,outf,t, nextt: string);varF: TextFile;oL: TStringList;d, linestr: string;tover: integer;beginAssignFile(F, fn);Reset(F);tover : 0;oL : TStringList.Create;while not EOF(F) dobeginReadLn(F, linestr);if length(linestr) 0 thenbegind : copy(linestr, 1, 8);if (0 comparetext(d, t)) or (0 comparetext(d, nextt)) thenbeginwriteln(linestr);oL.Add(linestr);tover : 1;endelsebeginif tover 0 then break;end;end;end;CloseFile(F);oL.SaveToFile(outf);oL.Free;end;varApplication: analyselog;{$R *.res}beginApplication : analyselog.Create(nil);Application.Title : analyse;Application.Run;Application.Free; end. 实现过程中发现pascal里没有直接命令复制文件只好外面整个脚本因为我这从文件里查找内容不能影响原先文件被别的应用继续写 #!/bin/bash if [ ! -n $1 ] ;then echo you have not input a hh:mm:ss ! echo example : ./getjc5000log.sh 06:39:37 else echo the word you input is $1 d/root/logs cp -f $d/dms-jc5000.log $d/dms-jc5000.txt cp -f $d/dms-all.log $d/dms-all.txt ./analyselog $1 ${d} all fi 写完之后运行可以但是觉得发布试用要2个文件稍微不完美好吧再用c实现一下 #include stdio.h #include string.h #include unistd.h #include stdlib.h #include ctype.h #define _XOPEN_SOURCE #define __USE_XOPEN #include time.h // 每行最大长度 #define LINE_MAX 2048 //判断一行数据是否有可打印的字符只有空格不可见的不算然后判断行首是否满足需要 int isblankline(char str[], char* time1, char* time2) {int k 0;for (int i 0; str[i] ! \0; i) {if (0 isgraph(str[i])) {k 1;break;}}if (1 k (0 strncmp(str, time1, 8) || 0 strncmp(str, time2, 8))) {return 1;}return 0; } //将字符串转成时间戳,偏移后输出字符串 long analyse_time(char* str_time, char* new_time) {struct tm stm;memset(stm, 0, sizeof(stm));strptime(str_time, %H:%M:%S, stm);stm.tm_year 70;stm.tm_mday 1;stm.tm_mon 1;printf(str_time %d %d %d %d\n, stm.tm_hour, stm.tm_min, stm.tm_sec, sizeof(new_time));stm.tm_sec--;long t mktime(stm);struct tm tm2 *localtime(t);strftime(new_time, 10, %H:%M:%S, tm2);printf(new_time %s sec %d\n, new_time, tm2.tm_sec);return 0; } // 按行读文件满足需要的另存为文件 int createfile(char* file1, char* file2, char* file3, char* time1, char* time2) {char cmd[128] { 0 };sprintf(cmd, cp -f %s %s, file1, file2);int k system(cmd);printf(cp %s %d\n, file2, k);if (access(file2, F_OK) 0) {FILE* fp fopen(file2, r);FILE* out fopen(file3, w);if (NULL fp) {printf(open file failed.\n);return -1;}if (NULL out) {printf(out file failed.\n);return -1;}int line_len 0; // 文件每行的长度char buf[LINE_MAX] { 0 }; // 行数据缓存while (fgets(buf, LINE_MAX, fp)) {line_len strlen(buf);if (isblankline(buf, time1, time2)) {printf(%s\n, buf);/** 对每行数据(buf)进行处理 **/fputs(buf, out);}}if (0 feof) {// 未读到文件末尾printf(fgets error no end\n);}fclose(fp);fclose(out);}else {printf(isnotexist %s\n, file2);} }int main(int argc, char* argv[]) {char newtime[10] { 0 };printf(hello world\n Harmony is coming%d\n, argc);if (argc 2) {printf(no param example: ./loganalyse 00:00:11\n);return 1;}else {printf(app %s param %s\n, argv[0], argv[1]);analyse_time(argv[1], newtime);}createfile(dms-all.log, dms-all.txt, dmsall.txt, newtime, argv[1]);createfile(dms-jc5000.log, dms-jc5000.txt, jc5000.txt, newtime, argv[1]);return 0; }
http://www.dnsts.com.cn/news/84442.html

相关文章:

  • 前端开发学习网站用老域名做新网站
  • 宿州大型网站建设公司金螳螂装饰公司
  • 网站域名一年大概多少h5怎么制作的
  • 清远市网站建设wordpress 自定义鼠标
  • 网站收录就是没排名临淄百度信息港网
  • 网站建设 美橙智慧团建官网登录入口电脑版
  • 微网页制作专业公司seo网络优化是做什么的
  • 固原网站建设公司网站页面模板页面布局
  • 辽宁建设工程信息网开标流程seo优化一般包括哪些内容()。
  • 做期货要看哪些网站广西响应式网站制作
  • 深圳英迈思做网站好么上海网站备案管理中心
  • iis怎么做网站空间潍坊搜索引擎优化
  • 做影视网站需要多少钱绍兴柯桥哪里有做网站的
  • 网站模板安全管理系统做景观要知道哪些网站
  • 制作企业网站与app有什么不同网站开发的风险
  • 机关单位网站建设管理制度忻州网站建设
  • js检测网站是否能打开可以查企业备案的网站吗
  • 视觉网站建设百度排行
  • 优秀网站案例免费网站建设力荐 186一6159一6345绘政正规
  • 奢侈品网站 方案萝岗高端网站建设
  • 外贸cms建站php的网站模板下载
  • 营销型网站建设公司哪家建设营wordpress 怎么学
  • 企业网站建设的ppt聊城做手机网站
  • 成都网站营销seo多少费用做外贸 需要做网站吗
  • 韩国明星都在那个网站做直播h5网站开发
  • 商业网站设计专业wordpress配置要求
  • 网站建设一对一培训cms系统主要功能
  • 模板网站建设的公司营销型网站建设的五力原则包括
  • 霍山县网站建设公司营销型网站建设的意义
  • 建设网站文件夹的名字如何帮助网站吸引流量