【linux】cat的基本使用

news2024/11/27 9:37:52

cat是一个常用的命令,用来显示文本的内容,合并和创建文本文件

类似命令还有显示文件开头的内容:

【linux】head的用法 输出文件开头的内容-CSDN博客

显示文件末尾的内容:

【linux】tail的基本使用-CSDN博客

当我们想到了想要查看一个文件的内容的话,就是该这个命令登场的时候

老规矩先看help的指令集

基本用法

cat file  直接输出全部文本

cat -E file  显示文件的行末标志

文本文件中每个换行的地方都会有换行符,但是换行符是不显示的,用这种方式可以显示文本文件的行末标志以及是否有多余的空格

(说一个我的经历:在使用脚本文件读取某个描述文件中的host的时候,我用了find和grep的形式想要读取他的IP地址,读取的结果是10.0.x.x,这是很正常的IP格式,但是就是解析不了,就是因为结尾有换行符,有些描述文件比如playbook的yml就不能够有多余的空格)

cat -n file  显示每一行的行号

cat -v file  显示文件中的非打印字符

编程中尤其是读取或者解析一个文本文件的时候,我们希望文本是“干净的”。如果出现了不可见的控制字符的话,程序的执行可能出现意外。如果报错消息明确指向了文件解析的错误的话,可以尝试查看文件中是否有不可见的字符(比如在log中会有记录着控制符的情况)

cat -T file  显示Tab键

比如在playbook中,你不能同时使用空格和tab作为缩进,tab和空格在被解析的时候是不一样的

正常显示文本时的样子

使用 -T 的时候的样子

cat -A file  等价于 -ETv 

显示所有的行末标志,Tab标志和控制标志

cat  内容 > file  通过输出内容到文件来创建新文件

或者通过输出多个文件的内容到同一个文件来实现

用cat合并文件

cat file file1 file2 > merge

cat的输出一般是对文件全部内容的输出,如果是输出文件的开头部分可以用head,输出文件的末尾部分可以用tail,如果是对其中满足某个条件的行输出的话可以用grep

以上得到的都是整数行的内容,然后使用awk等工具对一行内容继续分割得到更小的字段

cat是linux中最常用的命令之一,借助管道和文本处理工具可以覆盖绝大多数文本输出的场景

祝大家玩得开心

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

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

相关文章

JVM工作原理与实战(三):字节码文件的组成

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、基础信息 1.Magic魔数 2.主副版本号 3.其他信息 二、常量池 1.案例解析 三、方法 1.方法介绍 2.案例解析 四、字段 五、属性 总结 前言 JVM作为Java程序的运行环境&…

字母简化(UPC练习)

题目描述 给出一串全部为小写英文字母的字符串,要求把这串字母简化。简化规则是:统计连续出现的字母数,输出时先输出个数,再输出字母。比如:aaabbbaa,则简化为3a3b2a;而zzzzeeeeea,…

堆的应用:堆排序和TOP-K问题

上次才讲完堆的相关问题:二叉树顺序结构与堆的概念及性质(c语言实现堆 那今天就接着来进行堆的主要两方面的应用:堆排序和TOP-K问题 文章目录 1.堆排序1.1概念、思路及代码1.2改良代码(最初建立大堆用AdjustDow) 2. TO…

个人简历范本(精选5篇)

HR浏览一份简历也就25秒左右,如果你连「好简历」都没有,怎么能找到好工作呢? 如果你不懂得如何在简历上展示自己,或者觉得怎么改简历都不出彩,那请你一定仔细读完。 个人求职简历第 1 篇 男 22 本科 AI简历 市场营…

听GPT 讲Rust源代码--library/alloc(2)

File: rust/library/alloc/src/vec/mod.rs 在Rust源代码中,rust/library/alloc/src/vec/mod.rs这个文件是Rust标准库中的Vec类型的实现文件。Vec是一个动态大小的数组类型,在内存中以连续的方式存储其元素。 具体来说,mod.rs文件中定义了以下…

基于RetinaFace+Jetson Nano的智能门锁系统——第一篇(烧录系统)

文章目录 设备1.首先在PC端安装VMware虚拟机和Ubuntu182.安装VMware Tools3.安装SDK Manager 设备 Jetson NanoMicro-USB - USB-A电源线HDMI线屏幕PC一台 1.首先在PC端安装VMware虚拟机和Ubuntu18 VMware下载地址:https://www.vmware.com/cn/products/workstatio…

Node.js+Express 路由配置,实现接口分类管理

首先创建一个路由目录及文件 routes/user.js代码 const express require(express); const router express.Router(); // 使用express提供的router对象 const db require(../dbserver/mysql);router.get(/api/user, (req, res) > {const sqlStr SELECT * FROM sys_user;…

【算法】NOIP2017奶酪(搜索)

题目描述 现有一块大奶酪,它的高度为 h,它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系, 在坐标系中,奶酪的下表面为 z 0,奶酪的上表面为…

odoo17 | 创建一个新应用程序

前言 本章的目的是为创建一个全新的Odoo模块奠定基础。 我们将从头开始,以使我们的模块被Odoo识别所需的最低限度。 在接下来的章节中,我们将逐步添加功能以构建一个真实的业务案例。 教程 假设我门需要在odoo上开发一个新app模块例如房地产广告模块。…

详解Vue3中的事件监听方式

本文主要介绍Vue3中的事件监听方式。 目录 一、v-on指令二、使用符号简写三、事件修饰符四、动态事件名五、常见的监听事件六、自定义事件 在Vue3中,事件监听的方式与Vue2有一些不同。 下面是Vue3中事件监听方式的详细介绍: 一、v-on指令 Vue3中仍然使…

【java爬虫】使用element-plus进行个股详细数据分页展示

前言 前面的文章我们讲述了获取详细个股数据的方法,并且使用echarts对个股的价格走势图进行了展示,本文将编写一个页面,对个股详细数据进行展示。别问涉及到了element-plus中分页的写法,对于这部分知识将会做重点讲解。 首先看一…

计算机网络课程设计-企业网三层架构

(单人版) 摘 要 本篇报告主要解决了为一家名为西宫的公司网络搭建问题,该网络采用企业网三层架构对完了过进行设计。首先使用以太网中继,主要使用VLAN划分的技术来划定不同部门。使用MSTP对每个组配置生成树,防止交换机…

TecoGAN视频超分辨率算法

1. 摘要 对抗训练在单图像超分辨率任务中非常成功,因为它可以获得逼真、高度细致的输出结果。因此,当前最优的视频超分辨率方法仍然支持较简单的范数(如 L2)作为对抗损失函数。直接向量范数作损失函数求平均的本质可以轻松带来时…

ubuntu:beyond compare 4 This license key has been revoked 解决办法

https://www.cnblogs.com/zhibei/p/12095431.html 错误如图所示: 解决办法: (1)先用find命令找到bcompare所在位置:sudo find /home/ -name *bcompare (2)进入 /home/whf/.config,删除/bco…

【UnityShader入门精要学习笔记】(1)了解渲染流水线

本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 渲染流水线什么是流水线什么…

BLP模型

本篇文章是调研了许多资料后对 BLP 模型的一个总结 首发公号:Rand_cs MLS,Multi-level Security,主要关心的是数据机密性 D. Elliott Bell 和 Leonard J. LaPadula 在 1996 年提出了基本的 BLP 模型,主要有两个性质:…

[线代]不挂科猴博士

行列式的性质 行列式的计算及应用 矩阵的运算上(加减,相乘,取行列式) 矩阵的运算下(转置,逆,秩) 向量组与线性空间 解方程组

openGauss学习笔记-182 openGauss 数据库运维-升级-升级前准备与检查

文章目录 openGauss学习笔记-182 openGauss 数据库运维-升级-升级前准备与检查182.1 升级前准备与检查清单182.2 收集节点信息182.3 备份数据182.4 获取升级包182.5 健康检查182.5.1 前提条件182.5.2 操作步骤 182.6 检查数据库节点磁盘使用率182.7 检查数据库状态182.7.1 验证…

exposure_line 是如何曝光的 ?

1、读者提问: exposure_line 是如何曝光的,我看网上说这个代表的是一帧曝光多少行, 那如果一帧 exposure_line 小于frame_length,那一帧后面的行就不曝光吗? 不知道怎么理解,是曝光到1500行,…

动态内存分配函数

malloc void* malloc( unsigned size) 申请size个字节的地址连续的内存单元 成功则返回指向内存块的指针, 失败则返回NULL malloc不对申请的空间初始化 calloc void*calloc(unsigned n,unsigmed size) 申请n* size字节的个地址连续的内…