Linux 获取文本部分内容

Linux获取文本部分内容

前言

test.log 文本内容如下:

(注意:内容 a1004a1005之间有一空行)

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]# 
相关推荐
ks胤墨17 分钟前
本地服务器Docker搭建个人云音乐平台Splayer并实现远程访问告别烦人广告
运维·服务器·docker
木子欢儿23 分钟前
服务器多节点 Grafana、Prometheus 和 Node-Exporter Docker版本部署指南
服务器·docker·eureka·grafana·prometheus
刘争Stanley25 分钟前
容器技术全面攻略:Docker的硬核玩法
运维·python·docker·容器·柔性数组
公众号:ITIL之家32 分钟前
CI/CD与自动化运维的结合:加速交付与稳定运维
运维·ci/cd·自动化
每天敲200行代码34 分钟前
Linux开发工具--vim编辑器-gcc/g++编译器-gdb调试器
linux·c++·编辑器·vim·gdb
竹林海中敲代码1 小时前
GitLab本地服务器配置ssh和克隆项目
服务器·ssh·gitlab
流星白龙1 小时前
【Linux】5.Linux常见指令以及权限理解(3)
android·linux
茉莉玫瑰花茶1 小时前
调试器gdb/cgdb的使用
linux
唐山柳林2 小时前
灌区闸门自动化控制系统-精准渠道量测水-灌区现代化建设
大数据·运维·科技·物联网·自动化
carl.xu2 小时前
ubuntu 配置OpenOCD与RT-RT-thread环境的记录
linux·运维·ubuntu