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

南京网站设计公司排名在哪可以做网站

南京网站设计公司排名,在哪可以做网站,做冒菜店网站,全球邮企业邮箱登录目录 1.筛选给定时间范围内的日志 2.统计独立IP 案列 需求 代码 运行结果 3.根据某字段去重 案例 运行结果 4.正则表达式 1#xff09;认识正则 2#xff09;匹配字符 3#xff09;匹配次数 4#xff09;位置锚定#xff1a;定位出现的位置 5#xff09;分组…目录 1.筛选给定时间范围内的日志 2.统计独立IP 案列 需求 代码  运行结果 3.根据某字段去重 案例 运行结果 4.正则表达式 1认识正则 2匹配字符 3匹配次数  4位置锚定定位出现的位置 5分组和后向引用  1.筛选给定时间范围内的日志 grep/sed/awk用正则去筛选日志时如果要精确到小时、分钟、秒则非常难以实现。 但是awk提供了mktime()函数它可以将时间转换成epoch时间值。 rootUbuntu:~# # 2019-11-10 03:42:40转换成epoch为1970-01-01 00:00:00 rootUbuntu:~# awk BEGIN{print mktime(2023 08 05 08 44 40)} 1691196280 借此可以取得日志中的时间字符串部分再将它们的年、月、日、时、分、秒都取出来然后放入mktime()构建成对应的epoch值。因为epoch值是数值所以可以比较大小从而决定时间的大小。 下面strptime1()实现的是将2023-08-04-12-40-40 29T03:42:4008:00格式的字符串转换成epoch值然后和which_time比较大小即可筛选出精确到秒的日志。 可以利用patsplit来取时间中的数字 rootUbuntu:~# vim demo.awk rootUbuntu:~# cat demo.awk BEGIN{ #要筛选什么时间的日志将其时间构建成epoch值         which_time mktime(2023 08 04 22 40 29) } { #取出日志的日期时间字符串部分         #match($0,^.*\\[(.*)\\].*,arr) #将日期时间字符串转换为epoch值         tmp_time strptime1(arr[1]) #通过比较epoch值来比较时间大小         if(tmp_time wgich_time){print} } #构建的时间字符串格式为“2023-08-04T12:40:4008:00 function strptime1(str ,arr,Y,M,D,H,m,S){         patsplit(str,arr,[0-9]{1,4})         Yarr[1]         Marr[2]         Darr[3]         Harr[4]         marr[5]         Ssrr[6]         return mktime(sprintf(%s %s %s %s %s %s,Y,M,D,H,m,S)) } 下面strptime2()实现的是将10/Nov/2023:23:53:4408:00格式的字符串转换成epoch值然后和which_time比较大小即可筛选出精确到秒的日志。 rootUbuntu:~# vim dwmo.awk rootUbuntu:~# cat dwmo.awk BEGIN{   # 要筛选什么时间的日志将其时间构建成epoch值   which_time mktime(2023 08 04 11 42 40) } {   # 取出日志中的日期时间字符串部分   match($0,^.*\\[(.*)\\].*,arr)      # 将日期时间字符串转换为epoch值   tmp_time strptime2(arr[1])      # 通过比较epoch值来比较时间大小   if(tmp_time which_time){     print    } } # 构建的时间字符串格式为10/Nov/2023:23:53:4408:00 function strptime2(str,dt_str,arr,Y,M,D,H,m,S) {   dt_str gensub([/:], ,g,str)   # dt_sr 10 Nov 2023 23 53 44 08 00   split(dt_str,arr, )   Yarr[3]   Mmon_map(arr[2])   Darr[1]   Harr[4]   marr[5]   Sarr[6]   return mktime(sprintf(%s %s %s %s %s %s,Y,M,D,H,m,S)) } function mon_map(str,mons){   mons[Jan]1   mons[Feb]2   mons[Mar]3   mons[Apr]4   mons[May]5   mons[Jun]6   mons[Jul]7   mons[Aug]8   mons[Sep]9   mons[Oct]10   mons[Nov]11   mons[Dec]12   return mons[str] }  2.统计独立IP ? url 访问IP 访问时间 访问人 案列 a.com.cn|202.109.134.23|2015-11-20 20:34:43|guest b.com.cn|202.109.134.23|2015-11-20 20:34:48|guest c.com.cn|202.109.134.24|2015-11-20 20:34:48|guest a.com.cn|202.109.134.23|2015-11-20 20:34:43|guest a.com.cn|202.109.134.24|2015-11-20 20:34:43|guest b.com.cn|202.109.134.25|2015-11-20 20:34:48|guest 需求 统计每个URL的独立访问IP有多少个(去重)并且要为每个URL保存一个对应的文件得到的结果类似 代码  BEGIN{         FS|   } !arr[$1,$2]{         arr1[$1] } END{         for(i in arr1) {                 print i, arr1[i] (i.txt)         } } rootUbuntu:~# awk -f  1.awk demo3.txt rootUbuntu:~# ls -al 总计 92 drwx------  6 root root 4096  8月  5 09:50 . drwxr-xr-x 19 root root 4096  8月  3 17:32 .. -rw-r--r--  1 root root  109  8月  5 09:50 1.awk-rw-r--r--  1 root root   11  8月  5 09:50 a.com.cn.txt -rw-r--r--  1 root root   25  8月  4 10:19 awk -rw-------  1 root root  973  8月  4 17:19 .bash_history -rw-r--r--  1 root root 3106 10月 17  2022 .bashrc-rw-r--r--  1 root root   11  8月  5 09:50 b.com.cn.txt drwx------  2 root root 4096  8月  3 18:13 .cache-rw-r--r--  1 root root   11  8月  5 09:50 c.com.cn.txt drwxr-xr-x  2 root root 4096  8月  4 17:26 .cookiecutters -rw-r--r--  1 root root  566  8月  4 16:17 demo1.txt -rw-r--r--  1 root root  250  8月  5 09:24 demo2.txt -rw-r--r--  1 root root  300  8月  5 09:35 demo3.txt -rw-r--r--  1 root root  611  8月  5 09:08 demo.awk -rw-r--r--  1 root root  984  8月  5 08:50 dwmo.awk -rw-------  1 root root   20  8月  4 10:37 .lesshst -rw-r--r--  1 root root  161 10月 17  2022 .profile drwx------  5 root root 4096  8月  3 17:39 snap drwx------  2 root root 4096  8月  3 17:39 .ssh -rw-------  1 root root 8280  8月  5 09:50 .viminfo  运行结果 rootUbuntu:~# cat a.com.cn.txt  a.com.cn 2 rootUbuntu:~# cat b.com.cn.txt  b.com.cn 2 rootUbuntu:~# cat c.com.cn.txt  c.com.cn 1 3.根据某字段去重 去掉uidxxx重复的行 案例 2019-01-13_12:00_index?uid123 2019-01-13_13:00_index?uid123 2019-01-13_14:00_index?uid333 2019-01-13_15:00_index?uid9710 2019-01-14_12:00_index?uid123 2019-01-14_13:00_index?uid123 2019-01-15_14:00_index?uid333 2019-01-16_15:00_index?uid9710 首先利用uid去重我们需要利用?进行划分然后将uidxxx保存在数组中这是判断重复的依据 然后统计uid出现次数第一次出现统计第二次不统计 运行结果 rootUbuntu:~# vim demo2.txt rootUbuntu:~# awk -F? !arr[$2]{print} demo2.txt 2019-01-13_12:00_index?uid123 2019-01-13_14:00_index?uid333 2019-01-13_15:00_index?uid9710 4.正则表达式 1认识正则 1介绍   正则表达式应用广泛在绝大多数的编程语言都可以完美应用在Linux中也有着极大的用处。   使用正则表达式可以有效的筛选出需要的文本然后结合相应的支持的工具或语言完成任务需求。   在本篇博客中我们使用grep/egrep来完成对正则表达式的调用 2正则表达式类型 正则表达式可以使用正则表达式引擎实现正则表达式引擎是解释正则表达式模式并使用这些模式匹配文本的基础软件。 在Linux中常用的正则表达式有 POSIX 基本正则表达式BRE引擎 POSIX 扩展正则表达式BRE引擎 2匹配字符 . 匹配任意单个字符不能匹配空行 [] 匹配指定范围内的任意单个字符 [^] 取反 [:alnum:] 或 [0-9a-zA-Z] [:alpha:] 或 [a-zA-Z] [:upper:] 或 [A-Z] [:lower:] 或 [a-z] [:blank:] 空白字符空格和制表符 [:space:] 水平和垂直的空白字符比[:blank:]包含的范围广 [:cntrl:] 不可打印的控制字符退格、删除、警铃... [:digit:] 十进制数字 或[0-9] [:xdigit:]十六进制数字 [:graph:] 可打印的非空白字符 [:print:] 可打印字符 [:punct:] 标点符号 3匹配次数  * 匹配前面的字符任意次包括0次贪婪模式尽可能长的匹配 .* 任意前面长度的任意字符不包括0次 \? 匹配其前面的字符0 或 1次 匹配其前面的字符至少1次 {n} 匹配前面的字符n次 {m,n} 匹配前面的字符至少m 次至多n次 {,n} 匹配前面的字符至多n次 {n,} 匹配前面的字符至少n次   4位置锚定定位出现的位置 ^ 行首锚定用于模式的最左侧 $ 行尾锚定用于模式的最右侧 ^PATTERN$用于模式匹配整行 ^$ 空行 ^[[:space:]].*$ 空白行 或 \b 词首锚定用于单词模式的左侧 或 \b 词尾锚定用于单词模式的右侧 PATTERN 5分组和后向引用  ① 分组() 将一个或多个字符捆绑在一起当作一个整体进行处理   分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中这些变量的命名方式为: \1, \2, \3, ... ② 后向引用 引用前面的分组括号中的模式所匹配字符而非模式本身 \1 表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符 \2 表示从左侧起第2个左括号以及与之匹配右括号之间的模式所匹配到的字符以此类推 表示前面的分组中所有字
http://www.w-s-a.com/news/378722/

相关文章:

  • 青岛发现51例阳性南京专业网站优化公司
  • 南昌建站如何上wordpress
  • 洛阳网站建设优惠公司建筑企业上市公司有哪些
  • 营销型网站建设营销型网站建设手机网站设计需要学什么
  • 在线视频网站 一级做爰片南通网站建设找哪家
  • 网站优化文章东莞专业网站建设价钱
  • 哈尔滨网页设计网站模板泰兴建设局网站
  • 响应式网站设计公司报纸做垂直门户网站
  • 陕西旭泽建设有限公司网站企业网站建设软件需求分析
  • 上海公司网站建设方案中企动力西安分公司
  • dedecms网站后台怎样才能上百度
  • 云互联的网站名字亚马逊雨林生物
  • 电商网站功能企查查企业信息查询网
  • 特色网站建设中国住房和城乡建设局官网
  • 长春市住房城乡建设厅网站做白酒网站
  • 自己的网站怎么做的成品免费ppt网站
  • 番禺区网站建设哪里有泰安公司
  • 网站制作详细过程网站开发最强工具
  • 孟村县做网站长春城投建设投资有限公司网站
  • 国家重大建设项目库网站wordpress安装 var
  • 供求信息网站建设报价网站制作 苏州
  • 动漫建模代做网站百度一下wordpress nginx 固定链接
  • 广州网站开发网络公司网站建设的书
  • php手机网站开发教程家政网站怎么做
  • 视频网站的建设预算通信科技网站设计
  • 糖果网站建设策划书淘宝客网站开源
  • 建站公司还有前途吗cf网站编程
  • 网站建设需求确认表建站工具 比较
  • 刚建设的网站多久能在百度查到考试系统 微网站是什么样的
  • 商城网站建设高端企业网站建设劣势