Linux:文件读取指令

news2024/11/18 13:37:42

Linux:文件读取指令

    • cat指令
    • more指令
    • less指令
    • head指令 & tail指令
    • grep指令


cat指令

cat指令用于查看目标文件的内容。

语法:cat [选项][文件]

比如直接使用cat读取一个文件:

在这里插入图片描述
可以看到,其直接在指令的下方,输出了test.txt内部的内容。

现在我们再学习一些cat的选项:

-b:对所有非空行输出编号

在这里插入图片描述

-n:对所有行输出编号

在这里插入图片描述

-s:当有多行连续的空行时,压缩为一行空行

在这里插入图片描述
cat还有一个相对的只tac,通过名字可以看出来,其就是cat翻转后的字符串。因此这个指令的功能就是:反向输出文件内容。

在这里插入图片描述


more指令

假设我们现在有一个一万行的文件big.txt,现在我们用cat输出这个文件试试看:

请添加图片描述
可以看到,虽然cat成功输出了文件,但是其造成了刷屏,最后咱啥也看不清楚。

对于这种大型文件,我们就需要more这样的指令,来一点一点翻阅。

语法:more [选项][文件]

使用more指令,一次只会输出到刚好占满屏幕,比如对刚刚的文件使用more big.txt
在这里插入图片描述
最后只输出了27行数据,因为屏幕最多只能承载27行数据。

此时我们可以:

  • 使用Enter键,向下一行一行翻阅
  • 使用space空格键,向下一页一页翻阅
  • 输入/xxx,快速跳转到带有xxx内容的行

比如输入/1024
在这里插入图片描述
最后我们的页面中,就跳转到了带有1024内容附近的行。

我们想要退出阅读时:

q:退出more


less指令

less也是对文件或其它输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能极其强大。Less的用法比起 more 更加的有弹性。

more 的时候,我们并没有办法向前面翻, 只能往后面看。但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容。除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

语法:less [选项][文件]

直接对big.txt使用less big.txt

在这里插入图片描述

/xxx:向下搜索带有xxx的内容
?xxx:向上搜索带有xxx的内容
q:退出

这里就不展示以上三个功能了。

接下来我们再看两个选项:

-i:搜索时忽略大小写

当我们直接打开文件时,进行搜索是区分大小写的,比如输入/linux进行搜索:
在这里插入图片描述
可以看到,我们搜索失败了,虽然字符串中有Linux,但是由于L是大写的,其无法搜索到。

我们再以-i打开文件,然后输入/linux进行搜索:
在这里插入图片描述
可以看到,其把大写的单词也标识了出来。


head指令 & tail指令

headtail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然就是看档案的结尾

语法:
head [参数][文件]
tail [参数][文件]

直接使用head时,默认输出前10行:
在这里插入图片描述
直接使用tail时,默认输出后10行:
在这里插入图片描述
选项:-n:输出前/后n行

比如用head输出前20行:
在这里插入图片描述
tail输出后15行:
在这里插入图片描述


grep指令

grep指令用于在文件中查找字符串,输出找到的行。

语法:grep [选项] 字符串 文件

比如在刚刚的big.txt中搜索1024grep 1024 big.txt

在这里插入图片描述

可以看到,其输出了所有含有1024的行,并把目标字符串额外用颜色区分开了。

常用选项:

-i:忽略大小写不同

-n:输出行号

在这里插入图片描述

-v:反向选择,即输出不包含字符串的行

big.txt输入grep -v 9 big.txt
在这里插入图片描述
此时所有带有9的行都没有输出,所以最后从88888直接跳到了100000


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

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

相关文章

嵌入式开发--STM32G431RBTx-产生PWM

嵌入式开发–STM32G431RBTx-产生pwm 定时器工作原理 如图有反映stm32g431的定时器资源。 共10个定时器 定时器定时器类型个数TIM6,7基本定时器2TIM2,3,4全功能通用定时器3TIM15,16,17通用定时器(只有1或2个通道)3TI…

计算机二级大题

题目来源:计算机二级Python半个月抱佛脚大法(内呈上真题版) - 知乎 1.大题1 注意csv文件读取的处理 ls[] for line in f: ls.append(line.strip(\n).split(,)) 2. 大题2 第一问: #计算有效票张数 fopen("vote.txt",…

普发Pfeiffer分子泵TMH-U1001PC-1601PC安装使用维护说明

普发Pfeiffer分子泵TMH-U1001PC-1601PC安装使用维护说明

【十七】【算法分析与设计】前缀和(2)

238. 除自身以外数组的乘积 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#…

碳素光线疗法——动,植物 光育实验

碳素光线疗法——动,植物 光育实验 碳素光线疗法: 中西医、民间疗法融为一体,提高机体自身治愈力,免疫力,改善体质和保持健康,有助于疾病的预防和治疗的疗法。不吃药、不打针、不手术也能得健康&#xff0c…

【Grass Mining】教程

Grass 为用户提供了一种利用网络资源进行Mining的新途径。以下是一份简化的指南,帮助您轻松开始在 Grass 上的Mining活动。 开始之前:注册 Grass 账户 首先,访问 Grass 官方网站进行账户注册。如果遇到注册过程中出现的“失败”提示&#x…

Android Jetpack:简化开发、提高Android App质量的利器

Android Jetpack:简化开发、提高Android App质量的利器 1. Jetpack的概念和目标 Jetpack是一套库、工具和指南,旨在帮助开发者更轻松地编写高质量的应用程序。这些组件帮助开发者遵循最佳实践,减少样板代码的编写,并简化复杂的任…

2024年,抖音小店无货源怎么做?一篇全解!

大家好,我是电商糖果 无货源不能做了? 以后是不是要商家自己进货,囤货了? 无货源未来还有发展前景吗? ....... 这些问题,从2022年就有不少朋友开始问,一直到2024年。 糖果做无货源电商已经…

训练YOLOv9-S

1. YOLOv9-S网络结构 1.1 改前改后的网络结构(参数量、计算量)对比 修改前调用的yolo.py测试的yolov9.yaml的打印网络情况,包含参数量、计算量 修改后调用的yolo.py测试的yolov9.yaml的打印网络情况,包含参数量、计算量 1.2 …

MySQL关联查询如何优化

好久不见,关于这篇文章,我也是想了很久,还是决定写一篇文章,有很多同学问过 mysql 相关的问题,其实关联查询如何优化,首先我们要知道关联查询的原理是什么? 左连接 left join SELECT 字段列表…

单目测距那些事儿(上) _ 从MobileEye谈起

单目测距那些事儿(上) | 从MobileEye谈起 全面专业的自动驾驶学习资料:链接 前言 在ADAS领域,有个功能叫自适应巡航控制(Adaptive Cruise Control, ACC)。 ACC是一种纵向距离控制,具体包括发现目标车辆、判断目标车辆所在路径、测量相对本车的距离和速…

STM32之HAL开发——手动移植HAL库

HAL库移植步骤 创建目录 配置启动文件 在\Drivers\CMSIS\Device\ST\stm32f1xx\Source\Templates\ARM目录下,根据你的芯片型号选择对应的启动文件,不同容量大小的芯片,对应的启动文件也不一样。 注意:在HAL库中,不同容…

离散型工业生产制造MES管理系统解决方案

一、核心优势 1、业务场景高适配 ①配置好程度高,可适应不同的业务场景。 ②业务功能灵活可配,可根据客户需求及时调整。 2、功能覆盖全周期 产品功能覆盖面广,能够实现从来料管理到销售出库整个产品生命周期管控。 3、触点互联降成本 能将相关的设备集成至MES中来,实现与设…

全网最靠谱的短网址平台,你知道几个?

在当今互联网时代,短网址平台成为了人们分享链接的常用工具。它们不仅可以将冗长的网址压缩为简洁的短链接,还能提供更多的功能和优势。在众多的短网址平台中,有几个平台以其可靠性和出色的性能脱颖而出。今天,我们就来介绍几个全…

跳槽多次未成功,问题源自何处?

众所周知,2023年市场很难!看着企业们纷纷裁员,甚至连内推这个后门都走不通!哪怕有面试,都是屡屡碰壁,你想清楚问题出在哪了吗?😭“求职不得,夜不能寐;三更半夜…

设计模式—观察者模式与发布订阅

观察者设计模式 观察者设计模式(Observer Design Pattern)是一种常用的软件设计模式,它是一种行为型模式。该模式用于定义对象之间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知…

NeuralForecast 超参数优化

NeuralForecast 超参数优化 flyfish 不使用超参数优化的方式 import numpy as np import pandas as pd from IPython.display import display, Markdownimport matplotlib.pyplot as plt from neuralforecast import NeuralForecast from neuralforecast.models import NBEA…

C#事件实例详解

一、什么是事件? 在C#中,事件(event)是一种特殊的类成员,它允许类或对象通知其他类或对象发生了某些事情。 从语法上看,事件的声明类似于字段,但它们在功能和行为上有一些重要的区别。 从技术角度来说,事件实际上是一个封装了事件订阅和取消订阅功能的委托字段。…

通过JWT完成token登录验证

前言 什么是JWT? 全称是JSON Web token,是用于对应用程序上的用户进行身份验证的标记,使用 JWTS 的应用程序不再需要保存有关其用户的 cookie 或其他session数据 使用JWT的优势 提高了程序的可伸缩性,也极大的提高了应用程序的安全…

鸿蒙Harmony应用开发—ArkTS(@Link装饰器:父子双向同步)

子组件中被Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。 说明: 从API version 9开始,该装饰器支持在ArkTS卡片中使用。 概述 Link装饰的变量与其父组件中的数据源共享相同的值。 限制条件 Link装饰器不能在Entry装饰的自定义组件中使用…