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

grep批量筛选指定目录下的所有日志并写入文件内

背景:在指定目录下,该目录下有上百个日志文件,这些文件以.log结尾

需求:遍历这些日志文件,对每个日志文件进行grep筛选,筛选出包含name=xxx "server_port":"8088"的内容,并写入到out.log文件中,这些日志文件顺序筛选,后面的日志文件追加到out.log文件中

编辑一个脚本:

vim process_logs.sh 

脚本内容如下:

#!/bin/bashfor logfile in /var/log/*.log; dofilename=$(basename "$logfile")echo "$filename" "--->filter start" >> ./out.loggrep 'name=xxx' "$logfile" | grep '"server_port":"8088"' >> ./out.logecho "$filename" "--->filter end" >> ./out.logecho >> ./out.log
done

注释:

#!/bin/bash# 遍历log目录下的所有日志文件
for logfile in /var/log/*.log; do# 使用basename获取文件名filename=$(basename "$logfile")# 写入指定字符串echo "$filename" "--->filter start" >> ./out.log# 使用grep筛选包含"name=xxx"并且"server_port":"8088"的内容并追加到out.log文件中grep 'name=xxx' "$logfile" | grep '"server_port":"8088"' >> ./out.log# 写入指定字符串echo "$filename" "--->filter end" >> ./out.log# 写入空行echo >> ./out.log
done

执行:

bash process_logs.sh 
http://www.lryc.cn/news/192192.html

相关文章:

  • JVM第三讲:JVM 基础-字节码的增强技术详解
  • JWT前后端分离在项目中的应用
  • 系统架构师备考倒计时23天(每日知识点)Redis篇
  • WIN11系统设置重启与睡眠唤醒后自动拨号
  • 【【萌新的SOC学习之AXI-DMA环路测试】】
  • Lua教程
  • 《Node.js+Express+MongoDB+Vue.js全栈开发实战》简介
  • 多输入多输出 | MATLAB实现CNN-BiGRU-Attention卷积神经网络-双向门控循环单元结合SE注意力机制的多输入多输出预测
  • 阿里云r7服务器内存型CPU采用
  • Godot2D角色导航-自动寻路教程(Godot设置导航代理的目标位置)
  • R语言实现向量自回归和误差修正模型——附实战代码
  • 原理:用UE5制作一个2D游戏
  • 【ARM 嵌入式 编译系列 11.3 -- GCC attribute packed noreturn constructor 介绍】
  • 主从Reactor高并发服务器
  • 文心一言Plugin实战来了,测试开发旅游攻略助手
  • 微服务13-Seata的四种分布式事务模式
  • C结构体内定义结构体,不能直接赋值。
  • PHP遇见错误了看不懂?这些错误提示你必须搞懂
  • 微信小程序备案流程操作详解
  • 【100天精通Python】Day70:Python可视化_绘制不同类型的雷达图,示例+代码
  • KY258 日期累加
  • 基于CodeFormer实现图片模糊变清晰,去除马赛克等效果
  • Docker【部署 05】docker使用tensorflow-gpu安装及调用GPU踩坑记录
  • 前后端分离中,前端请求和后端接收请求格式总结
  • pytorch的基本运算,是不是共享了内存,有没有维度变化
  • Visual Studio 2022新建项目时没有ASP.NET项目
  • nuiapp项目实战:导航栏动态切换效果实践案例树
  • 【机器学习】集成学习(以随机森林为例)
  • 主机jvisualvm连接到tomcat服务器查看jvm状态
  • uniapp 自定义tabbar页面不刷新