Linux 获取文本部分内容

Linux获取文本部分内容

前言

test.log 文本内容如下:

(注意:内容 a1004和a1005之间有一空行)

bash 复制代码
[root@gaussdb002 tmp]# cat test.log 
a1001
a1002
a1003
a1004

a1005
a1006
a1007
a1008
[root@gaussdb002 tmp]# 

场景

获取前几行内容

head 命令

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

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

例如:获取前 3行 数据。

bash 复制代码
[root@gaussdb002 tmp]# head -n 3 test.log 
a1001
a1002
a1003
[root@gaussdb002 tmp]# 

获取末尾几行内容

tail 命令

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

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

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

bash 复制代码
[root@gaussdb002 tmp]# tail -n 3 test.log 
a1006
a1007
a1008
[root@gaussdb002 tmp]# 

获取中间内容

  1. 使用 vim 编辑文件,打开行号(输入:set number)

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

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

head 命令 + tail 命令 结合

bash 复制代码
[root@gaussdb002 tmp]# head -n 6 test.log  | tail -n +3 
a1003
a1004

a1005
[root@gaussdb002 tmp]# 

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

bash 复制代码
[root@gaussdb002 tmp]# head -n 6 test.log  | tail -n +3 > temp.log
[root@gaussdb002 tmp]# cat temp.log 
a1003
a1004

a1005
[root@gaussdb002 tmp]# 

sed 命令

sed 命令

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

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

bash 复制代码
[root@gaussdb002 tmp]# sed -n '3,6p' test.log 
a1003
a1004

a1005
[root@gaussdb002 tmp]# 

awk 命令

awk 命令

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

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

bash 复制代码
[root@gaussdb002 tmp]# awk 'NR>=3 && NR<=6' test.log 
a1003
a1004

a1005
[root@gaussdb002 tmp]# 
相关推荐
YonyouHRSaaS26 分钟前
从安全、信创、运维三方面看,人力资源管理系统哪种部署方式更适合企业HR?
运维·安全·hr系统·人力资源管理系统·hr saas·人事管理系统
啦啦啦啦啦zzzz1 小时前
一致性哈希
服务器·算法·哈希算法·c++20·分布式存储
倔强的石头1061 小时前
【Linux指南】动静态库系列(十二):库工程发布与错误排查:从能跑到可维护
linux·运维·服务器
wdfk_prog1 小时前
LWIP教程 03:从 `low_level_input()` 到 `pbuf_free()`——`pbuf` 的数据视图、Chain 与引用计数
运维·网络·笔记·学习
掉进电商坑三年没爬出来的东叔1 小时前
云服务器搭建个人网站实战:从零到公网访问,含域名HTTPS
运维·服务器·https
xiaoye-duck1 小时前
《Linux 网络编程》深入理解 epoll(上):从接口到底层内核工作机制剖析
linux·网络
IT大白鼠1 小时前
彭大帅的AI运维助手跨出 Linux:全面接管 Windows 服务器
运维·服务器·人工智能
reasonsummer1 小时前
【办公类-131-05】20261007中2班周计划制作(原资料Word单元格不统一 失败)
运维·服务器
ouynagda2 小时前
嵌入式Linux i.MX6ULL系统移植学习笔记
linux·笔记·学习
Mikko72 小时前
JVM 线上排查实战(六):JFR 怎么用?JDK 8 要不要加 UnlockCommercialFeatures、jfr 命令在哪、录的文件为什么读不了
java·运维·jvm·后端