Linux中 cat查询文件指定内容-并输入到指定文件内

 

常用:

  ① cat xxx.log | grep -C 20 "查询关键字"

        grep -E '1805|1905' CloudPayment.log > out.log

 

一、 关键字查询

  1.查找搜索目标所在行数

    $cat xxx.log | grep -n  "查询关键字"

 

  2.查看搜索目标后2行数据

    $cat xxx.log | grep -A 2  "查询关键字"

 

  3.查看搜索目标前2行数据

    $cat xxx.log | grep -B 2  "查询关键字"

 

  4.同时查看搜索目前 前2行和 后2行数据

    $cat xxx.log | grep -C 2  "查询关键字"

 

  5.查看文件指定行数区间内容

    $sed -n '查询关键字' xxx.log 

 

二、 将文字输出到指定文件

条件:

文件名称: CloudPayment.log

搜索内容:1805 或 1905 

 输出文件: out.log

 

1、满足一个条件(包含  “TJ”  )的语句:

  grep '1805' CloudPayment.log  > out.log

  cat  CloudPayment.log | grep '1805' > out.log

 

2、满足两个条件中的一个条件(包含“1805” 或者 包含“1905”)的命令:

  egrep '18051905' CloudPayment.log > out.log

  grep -E '1805|1905' CloudPayment.log > out.log

  cat  CloudPayment.log | grep -E '1805|1905'  > out.log

 

3、同时满足两个条件中(包含“1805” 和 “1905”)的命令:

  grep '1805'  CloudPayment.log  | grep '1905'  > out.log

  egrep '1805.*1905| 1905.*1805' CloudPayment.log > out.log 

  cat CloudPayment.log | grep "1805"  | grep "1905"  > out.log

PS: 符号“>”表示擦除后写入文档  ; “>>”表示追加到文档

       部分字符需要使用斜杠转译,如减号等
 

4、grep和tee结合

  在文件 CloudPayment.log中搜索订单号1905,
  并将搜索结果输出到out.log
  grep '18051114551940610000' CloudPayment.log | tee -a out.log

posted @   iSunXiaoXiao  阅读(14839)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示