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

Linux 获取文本部分内容

Linux获取文本部分内容

  • 前言
  • 场景
    • 获取前几行内容
    • 获取末尾几行内容
    • 获取中间内容
      • head 命令 + tail 命令 结合
      • sed 命令
      • awk 命令

前言

test.log 文本内容如下:
注意:内容 a1004a1005之间有一空行)

[root@gaussdb002 tmp]# cat test.log 
a1001
a1002
a1003
a1004a1005
a1006
a1007
a1008
[root@gaussdb002 tmp]# 

场景

获取前几行内容

head 命令
语法: head -n <行数> 文件名

-n <行数>:指定要显示的行数。如果不指定 -n 参数,默认输出前 10 行。

例如:获取前 3行 数据。

[root@gaussdb002 tmp]# head -n 3 test.log 
a1001
a1002
a1003
[root@gaussdb002 tmp]# 

获取末尾几行内容

tail 命令
语法: tail -n <行数> 文件名

-n <行数>:指定从文件末尾显示的行数。如果不指定 -n 参数,默认输出最后 10 行。

例如:获取末尾 3行 数据。

[root@gaussdb002 tmp]# tail -n 3 test.log 
a1006
a1007
a1008
[root@gaussdb002 tmp]# 

获取中间内容

  1. 使用 vim 编辑文件,打开行号(输入:set number
    在这里插入图片描述

  2. 实现:获取 第3行 ~ 第6行 之间的数据。

实现此需求方式有以下几种:

head 命令 + tail 命令 结合

[root@gaussdb002 tmp]# head -n 6 test.log  | tail -n +3 
a1003
a1004a1005
[root@gaussdb002 tmp]# 

若内容较多,可将内容重新输出到 文件中:

[root@gaussdb002 tmp]# head -n 6 test.log  | tail -n +3 > temp.log
[root@gaussdb002 tmp]# cat temp.log 
a1003
a1004a1005
[root@gaussdb002 tmp]# 

sed 命令

sed 命令
语法: sed -n '<起始行>,<结束行>p' 文件名

-n:禁止自动打印输出,只输出匹配的行。
<起始行>,<结束行>p:表示从 <起始行> 到 <结束行> 之间的行进行打印,p 是 print 的缩写。

[root@gaussdb002 tmp]# sed -n '3,6p' test.log 
a1003
a1004a1005
[root@gaussdb002 tmp]# 

awk 命令

awk 命令
语法: awk '条件 {动作}' 文件名

NR:表示当前处理的行号。
条件:定义在什么条件下执行 {动作},例如 NR>=3 && NR<=5。
{动作}:在满足条件时执行的操作,默认是打印匹配行。

[root@gaussdb002 tmp]# awk 'NR>=3 && NR<=6' test.log 
a1003
a1004a1005
[root@gaussdb002 tmp]# 
http://www.lryc.cn/news/518447.html

相关文章:

  • 01-51单片机LED与独立按键
  • 【微服务】SpringBoot 整合Redis实现延时任务处理使用详解
  • 【Java项目】基于SpringBoot的【校园交友系统】
  • Elasticsearch学习(1) : 简介、索引库操作、文档操作、RestAPI、RestClient操作
  • ls指令详讲
  • 【前端】【CSS3】基础入门知识
  • 计算机网络之---RIP协议
  • 【LeetCode Hot100 贪心算法】 买卖股票的最佳时机、跳跃游戏、划分字母区间
  • 互联网架构变迁:从 TCP/IP “呼叫” 到 NDN “内容分发” 的逐浪之旅
  • git相关操作笔记
  • jenkins 使用 ssh-agent向windows进行部署
  • MySQL入门学习笔记
  • 机器学习全流程解析:数据导入到服务上线全阶段介绍
  • C#从“Hello World!“开始
  • LVS 支持 UDP 协议代理
  • 【C++经典例题】求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句
  • Rabbitmq 具体怎么做到削峰的,是丢弃部分消费吗,有的实际场景是不允许丢弃
  • Linux渗透实战之Nullbyte靶场提权
  • (STM32笔记)十二、DMA的基础知识与用法 第三部分
  • 品牌账号矩阵如何打造?来抄作业
  • 基于vue的商城小程序的毕业设计与实现(源码及报告)
  • NineData云原生智能数据管理平台新功能发布|2024年12月版
  • 【Vue.js 组件化】高效组件管理与自动化实践指南
  • Clojure语言的并发编程
  • RabbitMQ-SpringAMQP使用介绍
  • ASP.NET Core 中服务生命周期详解:Scoped、Transient 和 Singleton 的业务场景分析
  • c语言----------小知识
  • React Context用法总结
  • [笔记] 使用 Jenkins 实现 CI/CD :从 GitLab 拉取 Java 项目并部署至 Windows Server
  • 腾讯云AI代码助手编程挑战赛-如意