Linux :: 文件内容操作【6】:文件中指定中间部分(第多少行 到 第多少行)行内容输出 及 初步认识管道

news2025/4/7 10:54:09

前言:本篇是 Linux 基本操作篇章的内容!
笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。


学习集:

  • C++ 入门到入土!!!学习合集
  • Linux 从命令到网络再到内核!学习合集

注:本文涉及文件内容查看或编辑,故有预先准备的测试示例,若读者无测试示例,可参照 第 0 点 目录进行操作生成!


目录索引:
0. 测试使用用例命令
1. 回顾指令意义并提出问题
2. 提出解决问题的思路
3. 实现:文件中指定中间部分行内容输出
3.1 方式一(输出重定向方式)
3.2 方式二(结合管道):简单介绍管道
4. 中间局部内容指定输出
5. 相关文章或系列推荐


0. 测试使用用例命令

  • 第一个测试用例:源自《Linux :: 【基础指令篇 :: 文件内容操作:(1)】:: nano 指令 :: 使用自带文件编辑器及简单演示Linux下gcc编译执行可执行程序(仅作了解:会用来创建文件即可)【基本不会用到】》中的第三点:简单演示Linux下gcc编译执行可执行程序【打印 Hello Linux 程序】;
  • 第二个测试用例:命令行输入如下指令:
count=0; while [ $count -le 100 ]; do echo "hello ${count}"; let count++; done > file.txt
  • 以上命令用于生成 hello x {x:1~100}生成100行数据并写入文件!【注:不要修改命令格式!写法以后会说明!】

1. 回顾指令意义并提出问题

回顾指令:

  • 「cat / tac」:正序 / 逆序 查看目标文件的全部内容!
  • 「more / less」:查看目标文件的部分或全部内容!
  • 「head / tail」:查看前后 n 行内容 | 指定查看文件的部分内容!

提出问题:
我们可以通过已知指令查看前后 n 行内容,那如果在一个数据量较大文件中(超过1000行),我想查看:第 50 ~ 75 行的内容该怎么办?


2. 提出解决问题的思路

总体思路:我们可以先查出前 75 行内容,再查看 75 行内容中的后 26 行内容。注意:第 50 ~ 75 行的内容:属于区间的左闭右闭区间,区间作差需 +1!

方式一(输出重定向方式):我们可以通过:head -75 [文件]:查出前 75 行内容,通过输出重定向存入临时文件,在去临时文件中指定输出 tail -26 [临时文件]

方式二(结合管道):该方法将引入一个管道的概念,简单来说,管道的作用就是将管道左边的指令执行结果交给管道右边的指令继续执行!


3. 实现:文件中指定中间部分行内容输出

3.1 方式一(输出重定向方式)

方式一(输出重定向方式):我们可以通过:head -75 [文件]:查出前 75 行内容,通过输出重定向存入临时文件,在去临时文件中指定输出 tail -26 [临时文件]【注:实现形式不唯一!】

/* 1. 先将前 head + 输出重定向把 75 行内容输出到 temp.txt 文件中 */
[Mortal@VM-12-16-centos test_file]$ head -75 file.txt > temp.txt
[Mortal@VM-12-16-centos test_file]$ ll
total 8
-rw-rw-r-- 1 Mortal Mortal 900 Jun  5 21:14 file.txt
-rw-rw-r-- 1 Mortal Mortal 665 Jun  5 21:15 temp.txt

/* 2. 再使用 tail 指令输出 temp.txt 文件中的后 26 行内容 */
[Mortal@VM-12-16-centos test_file]$ tail -26 temp.txt
hello 49
hello 50
hello 51
hello 52
hello 53
hello 54
hello 55
hello 56
hello 57
hello 58
hello 59
/* 此处笔者删除了部分内容!防止文章篇幅过长! */


3.2 方式二(结合管道):简单介绍管道

  • 管道「 | 」:简单来说,管道的作用就是将管道左边的指令执行结果交给管道右边的指令继续执行!【目前只需要会用!以后会详解!】

  • 管道:可以批量化流水式处理数据!在以下过程中管道会生成管道文件!但是它是内存级文件,没有在磁盘上!

[Mortal@VM-12-16-centos test_file]$ ls
file.txt  temp.txt  tmp.txt
[Mortal@VM-12-16-centos test_file]$ rm temp.txt tmp.txt 
[Mortal@VM-12-16-centos test_file]$ ls
file.txt
[Mortal@VM-12-16-centos test_file]$ head -75 file.txt | tail -26 
hello 49
hello 50
hello 51
hello 52
hello 53
hello 54
hello 55
hello 56
hello 57
hello 58
hello 59
hello 60
hello 61
hello 62
hello 63
hello 64
hello 65
/* 此处笔者删除了部分内容!防止文章篇幅过长! */

在这里插入图片描述


4. 相关文章或系列推荐

1. Linux 学习目录合集 ;


2. Linux :: 【基础指令篇 :: 文件内容操作:(1)】:: nano 指令 :: 使用自带文件编辑器及简单演示Linux下gcc编译执行可执行程序(仅作了解:会用来创建文件即可)【基本不会用到】 ;
3. Linux :: 【基础指令篇 :: 文件内容操作:(2)】:: cat / tac 指令 :: 正序 / 逆序 查看目标文件的全部内容 及 cat 的补充用法:从标准输入读取内容并输出 ;
4.Linux :: 【基础指令篇 :: 文件内容操作:(3)】:: more / less 指令 :: 查看目标文件的部分或全部内容 | 指定查看前 n 行内容【二者相比推荐使用 less 】 ;
5. Linux :: 【基础指令篇 :: 文件内容操作:(4)】:: head / tail 指令 :: 指定查看文件的部分内容 | 查看前 n 行内容
6. Linux :: 文件内容操作【5】:echo 指令 与 输入重定向、输出重定向、追加重定向在文件内容写入中的简单用法!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/613458.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenAI的人工智能语音识别模型Whisper详解及使用

1 whisper介绍 拥有ChatGPT语言模型的OpenAI公司,开源了 Whisper 自动语音识别系统,OpenAI 强调 Whisper 的语音识别能力已达到人类水准。 Whisper是一个通用的语音识别模型,它使用了大量的多语言和多任务的监督数据来训练,能够在…

Linux中使用ls命令按大小对所有文件进行排序

按大小列出目录中的文件(排序) ls -lSh

AI版女网红“半藏森林”上线,服务项目让人意想不到

目前首批网红明星“AI克隆人”已提前上线,主营业务就是打造各种名人版AI聊天机器人,用户付费便可与之聊天。其后台报名参加AI克隆人的网红明星“全网粉丝总数已超过5亿”。该公司这波上线的网红明星AI克隆人,包括此前因“疑似插足他人恋情”&…

腾讯工作3个月,做测试的一些感悟...

普通二本计算机专业毕业,从毕业后,第一份接触测试的工作是在一家通讯小公司,大部分接触的工作是以功能测试为主,一直都是几千块钱工资,还一度被派出差,以及兼职各种产品、运维、运营的活,感觉自…

TS学习操作

一.TypeScript环境安装与运行 1.全局安装 TypeScript : npm install -g typescript 2.校验 : tsc -v 二.如何运行 1.创建一个day01.ts文件夹 2.使用tsc ./day01.ts 将typescript代码转行成js代码 3.在html页面导入day01.js 4.创建配置文件 tsc --i…

力扣LeetCode算法题 第8题-字符串转换整数 (atoi)

以上为题目要求: /*** params Leetcode_test007* return Leetcode_test007* Author bigeZhong* disc**请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。** 函数myAtoi(…

java实现打包下载

背景:项目中下载功能单个文件正常下载多个文件或者包含文件夹打压缩包下载 上代码 controller RestController RequestMapping("/file") public class FileController {RequestMapping(value "/downloadFilePack", method RequestMethod.G…

SpringCloud 规则持久化

SpringCloud 规则持久化 文章目录 SpringCloud 规则持久化1 规则持久化2 规则持久化方案2.1 阿里云 Ahas[最方便/付费]2.2 在 Nacos Server 配置规则, 完成持久化 -官方推荐2.3 将规则持久化到本地文件, 定时同步 3 Nacos Server 配置中心-规则持久化实例 1 规则持久化 **规则…

MySQL压缩版本安装

MySQL压缩版本安装 首先分享mysql-8.0.23版本的压缩包,请有需要的朋友自取。 链接:https://pan.baidu.com/s/1h46ZCkGLbikhDOu5_0p2nw 提取码:wwd2 1、解压压缩包 1、将下载的压缩包放置到安装的位置后并解压,笔者将文件夹放到…

WPF BUG汇总:WPF Debug运行是 实时可视化树无效,无法查看代码

文章目录 往期回顾前言问题解决方案 往期回顾 WPF MaterialDesign 初学项目实战(0):github 项目Demo运行 前言 最近打算去深圳工作,投了几个简历之后发现深圳的C#方向上,WPF招聘的比较多。这里介绍一下,工业计算机&…

ChatGLM-6B的windows本地部署使用

ChartGPT最近特别火,但是收费,而且国内访问不太方便,所以找了个类似的进行学习使用 ChatGLM-6B,开源支持中英文的对话大模型,基于 General Language Model (GLM) 架构,具有62亿参数,简单说非常…

SpringCloud高级应用-Gateway

Dubbo SpringCloud高级应用 1. SpringCloud技术栈1.1 SpringCloud技术栈1.2 SpringCloud经典技术介绍1.3 SpringCloud项目场景 2. SpringCloud Gateway2.1 Gateway工作原理2.2 Gateway路由2.2.1 业务说明2.2.2 基于配置路由设置2.2.3 基于代码路由配置2.2.4 Gateway-Predicate2…

数据库的增删改查(2)

1、数据库约束 关系型数据库的一个重要功能 主要作用是保证数据的完整性,也就是数据的正确性(数据本身是正确的,关联关系也是正确的) 人工检查数据的完整性的工作量非常的大,在数据表定义一些约束,那数据…

Shamir 秘密共享、GMW和BGW方案

一、Shamir秘密共享 Shamir秘密共享方案是一种将秘密拆分成多份并分配给多个参与者保存,只有在满足特定条件下才能恢复原始秘密的密码学方案。它具有良好的容错性、加法同态性和无条件安全性等特点。 具体地,Shamir秘密共享方案可以概括为以下步骤&…

Protobuf数据类型

enum类型 语法⽀持我们定义枚举类型并使⽤。在.proto⽂件中枚举类型的书写规范为: 枚举类型名称: 使⽤驼峰命名法,⾸字⺟⼤写。例如: MyEnum 常量值名称: 全⼤写字⺟,多个字⺟之间⽤连接。例如&#xff1a…

【嵌入式烧录/刷写文件】-2.9-Intel Hex文件的地址对齐Address Alignment

案例背景(共5页精讲): 对一个Intel Hex文件,进行地址对齐Address Alignment。 目录 1 为什么要进行“地址对齐Address Alignment” 1.1 “对齐长度”的选择 2 使用Vector HexView工具对Hex文件进行“地址对齐Address Alignment” 2.1 “自动”完成“地址对齐Ad…

【JavaEE】Cookie与Session的前后端交互-表白墙登录设计

【JavaEE】Cookie与Session的前后端交互-表白墙登录设计 文章目录 【JavaEE】Cookie与Session的前后端交互-表白墙登录设计1. Cookie与Session1.1 后端doPost的实现1.1.1 隐藏的全局变量1.1.2 获取请求对应的HttpSession对象1.1.3 约定前后端交互方式1.1.4 验证用户名与密码是否…

你不知道的Bing聊天机器人:7个惊人的用途!

导读:以下是我总结的有用的方法,可以利用AI聊天机器人让您的生活更轻松。 本文字数:1600,阅读时长大约:10分钟 生成式AI工具可以用非常多的方式使你的日常生活更轻松。 AI聊天机器人在编程、写作等方面表现出色&#…

JVM入门:官网了解JVM、Java源文件运行过程、什么是类加载器、Java的类加载机制的三种方式、Tomcat的自定义类加载器

JVM入门:官网了解JVM、Java源文件运行过程、什么是类加载器、Java的类加载机制的三种方式、Tomcat的自定义类加载器 通过官网了解JVM官网jdk8结构图什么是JVM查看官网Java语言和虚拟机规范 Java源文件运行过程1.Java源文件经过Javac编译成字节码文件如何手动编译一个…

Java如何实现去重?这是在炫技吗?

大家好,我3y啊。由于去重逻辑重构了几次,好多股东直呼看不懂,于是我今天再安排一波对代码的解析吧。austin支持两种去重的类型:N分钟相同内容达到N次去重和一天内N次相同渠道频次去重。 Java开源项目消息推送平台🔥推送…