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

网站框架分类莆田网站建设推广

网站框架分类,莆田网站建设推广,上海集团网站建设公司好,开发网站最后进行的步骤是什么目录 一. 去除单个指定文本的换行符二. 去除多个指定文本的换行符三. 抽取出指定数据3.1 分别抽取SPLREQUEST和SPLEND的数据3.2 通过join命令将文件合并3.3 抽取出指定的数据3.4 去除换行符,整合数据为一行 一. 去除单个指定文本的换行符 👉 info.txt …

目录

  • 一. 去除单个指定文本的换行符
  • 二. 去除多个指定文本的换行符
  • 三. 抽取出指定数据
    • 3.1 分别抽取SPLREQUEST和SPLEND的数据
    • 3.2 通过join命令将文件合并
    • 3.3 抽取出指定的数据
    • 3.4 去除换行符,整合数据为一行


一. 去除单个指定文本的换行符

👉 info.txt

Some text before
2023 Some text after
Another 2023 line with 2023
20232023A line with consecutive 2023
Last line 2023

⏹解析

  • :loop; N; $!b loop;用于循环整个文件
  • s/\n2023/ 2023/g用于替换,将换行符2023 替换为 空格2023
cat info.txt | sed ':loop; N; $!b loop; s/\n2023/ 2023/g'

💪效果

Some text before 2023 Some text after
Another 2023 line with 2023 20232023A line with consecutive 2023
Last line 2023

二. 去除多个指定文本的换行符

👉 a.txt

Start 2023-11-05 05:15:10
eventController=enent1
MemberId=uuidw3e
ExecTime=1000
Start 2023-11-05 05:17:10
eventController=enent2
MemberId=uuidA234
ExecTime=2000

⏹解析

  • s/\n\([eME]\)/ \1/g用于将 换行符e开头的数据,换行符M开头,换行符E开头的数据的换行符去掉,并添加一个空格。
cat ./a.txt | sed ':loop; N; $!b loop; s/\n\([eME]\)/ \1/g'

💪效果

Start 2023-11-05 05:15:10 eventController=enent1 MemberId=uuidw3e ExecTime=1000
Start 2023-11-05 05:17:10 eventController=enent2 MemberId=uuidA234 ExecTime=2000

三. 抽取出指定数据

如下所示,程序运行后生成了如下log

  • 开头的数字(110120,123456等)代表了线程号
  • SPLREQUEST表示请求的开始,SPLEND表示请求的终了。同一个请求的SPLREQUEST和SPLEND的线程号相同。
  • 因为系统上线运行后,同一时刻可能会存在多个并发请求,所以同一个请求在同一个时刻打印的log可能分布在日志文件的不同的地方。
  • 我们可以根据线程号将同一个请求的SPLREQUEST和SPLEND相关的数据聚合到同一行,然后进行处理。

👉 20231126-2.log

110120 SPLREQUEST 内容1 AAA memberID=1 eventController=event1
110120 SPLEND ExecTime=200 ResultCode=200
123456 SPLEND ExecTime=300 ResultCode=200123456 SPLREQUEST 内容2 BBB memberID=2 eventController=event2
123444 SPLREQUEST 内容3 CCC memberID=3 eventController=
123434 SPLREQUEST 内容4 DDD memberID=  eventController=event4123444 SPLEND ExecTime=200 ResultCode=200
123434 SPLEND ExecTime=400 ResultCode=200
345345 SPLEND ExecTime=500 ResultCode=200
345345 SPLREQUEST 内容5 EEE memberID=5 eventController=event5
674545 SPLREQUEST 内容6 FFF memberID=6 eventController=event6674545 SPLEND ExecTime=400 ResultCode=200

3.1 分别抽取SPLREQUEST和SPLEND的数据

  • 在日志文件中,请求开始的日志和请求结束的日志所在的位置都是错乱无规律的。
  • 我们可以先将请求开始相关的数据抽取到一个文件中
  • 再将请求终了的相关的数据抽取到一个文件中
  • 再将上述得到的两个文件合并

⏹将SPLREQUEST相关的数据抽取到文件中

grep SPLREQUEST ./20231126-2.log > SPLREQUEST.txt

SPLREQUEST.txt

110120 SPLREQUEST 内容1 AAA memberID=1 eventController=event1 
123456 SPLREQUEST 内容2 BBB memberID=2 eventController=event2 
123444 SPLREQUEST 内容3 CCC memberID=3 eventController= 
123434 SPLREQUEST 内容4 DDD memberID=  eventController=event4 
345345 SPLREQUEST 内容5 EEE memberID=5 eventController=event5 
674545 SPLREQUEST 内容6 FFF memberID=6 eventController=event6 

⏹将SPLEND相关的数据抽取到文件中

grep SPLEND ./20231126-2.log > SPLEND.txt

SPLEND.txt

110120 SPLEND ExecTime=200 ResultCode=200 
123456 SPLEND ExecTime=300 ResultCode=200 
123444 SPLEND ExecTime=200 ResultCode=200 
123434 SPLEND ExecTime=400 ResultCode=200 
345345 SPLEND ExecTime=500 ResultCode=200 
674545 SPLEND ExecTime=400 ResultCode=200

3.2 通过join命令将文件合并

⏹由于请求开始和请求终了日志的线程号都是相同的,且都在第一列,因此可以通过join命令将两个文件通过线程号连接起来

join SPLREQUEST.txt SPLEND.txt > ALL.txt

ALL.txt

110120 SPLREQUEST 内容1 AAA memberID=1 eventController=event1  SPLEND ExecTime=200 ResultCode=200
123456 SPLREQUEST 内容2 BBB memberID=2 eventController=event2  SPLEND ExecTime=300 ResultCode=200
123444 SPLREQUEST 内容3 CCC memberID=3 eventController=  SPLEND ExecTime=200 ResultCode=200
123434 SPLREQUEST 内容4 DDD memberID= eventController=event4  SPLEND ExecTime=400 ResultCode=200
345345 SPLREQUEST 内容5 EEE memberID=5 eventController=event5  SPLEND ExecTime=500 ResultCode=200
674545 SPLREQUEST 内容6 FFF memberID=6 eventController=event6  SPLEND ExecTime=400 ResultCode=200

3.3 抽取出指定的数据

⏹抽取出线程号,memberID,eventController,ExecTime。

  • -o表示 只显示匹配到的数据
  • ^\S*表示 非空开头的数据,在此案例中特指线程号
grep -o -a -e "^\S*" -e "eventController=\S*" -e "memberID=\S*" -e "ExecTime=\S*" ALL.txt > pick_data.txt

pick_data.txt

110120
memberID=1
eventController=event1
ExecTime=200
123456
memberID=2
eventController=event2
ExecTime=300
123444
memberID=3
eventController=
ExecTime=200
123434
memberID=
eventController=event4
ExecTime=400
345345
memberID=5
eventController=event5
ExecTime=500
674545
memberID=6
eventController=event6
ExecTime=400

3.4 去除换行符,整合数据为一行

cat pick_data.txt | sed ':loop; N; $!b loop; s/\n\([emE]\)/ \1/g'
110120 memberID=1 eventController=event1 ExecTime=200
123456 memberID=2 eventController=event2 ExecTime=300
123444 memberID=3 eventController= ExecTime=200
123434 memberID= eventController=event4 ExecTime=400
345345 memberID=5 eventController=event5 ExecTime=500
674545 memberID=6 eventController=event6 ExecTime=400
http://www.bjxfkj.com.cn/article/111040.html

相关文章:

  • 郑州电子商务网站建设店面设计费计入什么科目
  • 翻译网站开发网站开发的教学课程
  • 建网站选号域名网站多久才会被收录
  • 网站开发语言哪种好网站开发需要书籍
  • 商城网站建设哪家好免费网络电话试用
  • 哈尔滨快速建站点击查看wordpress自定义密码
  • 网站建设实验报告电子商务网站开发方式
  • seo网站优化是什么杭州网站建设招聘网
  • 企业自建网站免费申请qq号码免费申请注册
  • 长春网站seo外包全球招商网
  • 亚马逊网站建设分析中油共享平台app
  • 外贸开发网站开发一个域名可以做几个网站
  • 深圳网站建设官网wordpress分享插件
  • 长沙做网站推荐网站如何设置关键词
  • 有趣的网站网址之家短视频网站平台怎么做
  • 合肥的电商网站设计wordpress云储存缩略图
  • 门户网站的自身的特性重庆网站建设尚智逢源
  • 零基础学网站建设制作网页整体规划方案
  • 乐至建设局网站小学手工制作100种
  • 长春站最新发布wordpress悬浮窗插件
  • 用什么语言来做网站wordpress rpc
  • 设计软件网站定制开发建设银行网站号
  • 商城网站开发的目的和意义青羊区网站设计
  • 网站开发哪里便宜什么网站做调查能赚钱
  • 网站前端设计培训12306网站 谁做的
  • 网站域名设计方案建筑网站官网
  • 网络服务提供者知道或应当知道seo能从搜索引擎中获得更多的
  • 网站查询域名ip查询阿里巴巴网站上面产品描述一般怎么做的
  • 网站维护主要内容网上室内设计师培训
  • 电商网站建设c微fzsszai惠民县建设局官方网站