百日筑基篇——Linux中文本工具应用(Linux入门六)

百日筑基篇——Linux中文本工具应用(Linux入门六)

文章目录

  • 前言
  • 一、文本搜索工具 **grep**
  • 二、流式文本处理工具 **sed**
  • 三、文本处理工具 **awk**
  • 总结


前言

在Linux中,通常会使用一些工具来处理文本以获得所需的内容。而Linux中的文本处理工具一般是grep 、sed 、awk这三个工具。


一、文本搜索工具 grep

用于在文件或标准输入输出中查找匹配指定模式的行
grep [选项] 模式 [文件名]

-v : 反向匹配,用来获得不匹配的行
-n : 显示匹配行以及行数
-i : 搜索时不区分大小写
-c : 统计匹配的行数
-o : 输出匹配的内容

grep -n "."命令用于在文本文件中查找非空行,并显示它们的行号
grep -E '正则表达式‘ 文件名 (或者使用 -e ,两者都支持正则表达式,但有一定区别)
请添加图片描述
通过grep工具查看当前目录下的满足匹配要求的文件
请添加图片描述
我通过使用grep 搜索工具来提取第一列和第二列都相同的行,或者使用-v来取反。

二、流式文本处理工具 sed

sed [选项] 内置命令符 [文件]

选项:
-n : 取消默认输出,常与内部命令P连用
-i : 直接修改文件内容,而不是输出到终端

内置命令符:
a : 追加文本,行后追加
d : 删除匹配行
i : 表示在指定行前插入文本内容
p : 表示打印匹配行的内容
s/A/B/g : 表示将文本中的A替换为B。

想要一次性替换单独的字符,可使用’y/ATCG/TAGC/':表示将文本中的ATCG分别替换为TAGC。如图中所示:
请添加图片描述

在这里插入图片描述

三、文本处理工具 awk

awk [选项] 动作模式 [文件]

-F : 指定分隔符
-V : 定义或修改一个内部变量

可以使用$NF来引用最后一列
请添加图片描述
awk 会根据空格和制表符,将每一行分成若干列,依次用 $1 、 $2
代表第一个列、第二列等等($0表示整行文本)
如图中所示,使用awk工具筛选出倒数第二列不为0的行,
awk工具还支持条件判断以及自定义函数。


总结

总的来说,grep一般用来搜索和筛选文本内容;sed用于编辑和修改文本文件;awk适用于更复杂的文本处理和计算任务,支持更高级的操作和脚本编写。这三个工具的使用可以相互结合,只要能满足需求就行。

林花谢了春红,太匆匆。

–2023-8-14 筑基篇

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

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

相关文章

回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图&#xf…

步步向前,曙光已现:百度的大模型之路

大模型,是今年全球科技界最火热,最耀眼的关键词。在几个月的狂飙突进中,全球主要科技公司纷纷加入了大模型领域。中国AI产业更是开启了被戏称为“百模大战”的盛况。 但喧嚣与热闹之后,新的问题也随之而来:大模型的力量…

谈谈召回率(R值),准确率(P值)及F值

通俗解释机器学习中的召回率、精确率、准确率,一文让你一辈子忘不掉这两个词 赶时间的同学们看这里:提升精确率是为了不错报、提升召回率是为了不漏报 先说个题外话,暴击一下乱写博客的人,网络上很多地方分不清准确率和精确率&am…

TIA博途_通过EXCEL快速给PLC程序段添加注释信息的方法示例

通过EXCEL快速给PLC程序段添加注释信息的方法示例 如下图所示,以OB1为例,正常情况下,我们可以在博途中直接输入各个程序段的注释信息, 但是如果程序段较多的话,逐个输入的话效率不高,此时可以参考下面这种通过EXCEL进行快速添加的方法。 如下图所示,选中某个OB或FC、FB块…

c语言实现MD5算法

MD5加密 文章目录 MD5加密MD5介绍应用场景代码分析 (基于qt5.14.2)测试记录 MD5介绍 1。 一种单向加密算法,即对明文加密,而不能通过密文得到明文。对原数据的任何改动,哪怕是1字节,得到的MD5值都有很大的区…

算法:滑动窗口解决连续区间子数组问题

文章目录 实现原理实现思路典型例题长度最小的子数组无重复字符的最小字串最大连续1的个数III将x减到0的最小操作水果成篮找到字符串中所有字母异位词(哈希表比较优化)对哈希表内元素比较的优化 总结 本篇积累的是滑动窗口的问题,滑动窗口在算法实现中有重要作用&am…

自动驾驶仿真:基于Carsim开发的加速度请求模型

文章目录 前言一、加速度输出变量问题澄清二、配置Carsim动力学模型三、配置Carsim驾驶员模型四、添加VS Command代码五、Run Control联合仿真六、加速度模型效果验证 前言 1、自动驾驶行业中,算法端对于纵向控制的功能预留接口基本都是加速度,我们需要…

pandas数据分析40——读取 excel 合并单元格的表头

案例背景 真的很容易疯....上班的单位的表格都是不同的人做的,所以就会出现各种合并单元格的情况,要知道我们用pandas读取数据最怕合并单元格了,因为没规律...可能前几列没合并,后面几列又合并了....而且pandas对于索引很严格&am…

地球IT

地球是我们生活的家园,也是人类发展的基地。地球不仅仅是一个行星,更是一个复杂而有机的生态系统。 地球直径约为12,742公里,被称为“蓝色星球”,因为它的表面约70%被水覆盖。海洋是地球上最大的生态系统之一,它们扮演…

JavaScript对象知识总结

一、创建对象的三种方式 1、字面量创建对象 2、new关键字+构造函数创建对象 3、Object.create()创建对象 二、查看对象属性和更改对象值的两种方式 1、形如:obj.keyvalue 2、形如:obj[key]value 三、删除对象属性 1、delete obj.key …

计算机竞赛 图像检索算法

文章目录 1 前言2 图像检索介绍(1) 无监督图像检索(2) 有监督图像检索 3 图像检索步骤4 应用实例5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 图像检索算法 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&#xff…

【数理知识】向量的坐标基表示法,Matlab 代码验证

序号内容1【数理知识】向量的坐标基表示法,Matlab 代码验证2【数理知识】向量与基的内积,Matlab 代码验证 文章目录 1. 向量的坐标基表示2. 二维平面向量举例3. Matlab 代码验证Ref 1. 向量的坐标基表示 假设空间中存在一个向量 a ⃗ \vec{a} a &#…

Vite更新依赖缓存失败,强制更新依赖缓存

使用vitets开发一段时间了,感觉并不是想象中的好用,特别是出现些稀奇古怪的问题不好解决,比如下面这个问题 上午9:50:08 [vite] error while updating dependencies: Error: ENOENT: no such file or directory, open E:/workspace-dir/node…

ansible(1)-- 部署ansible连接被控端

目录 一、部署ansible 1.1 安装 1.2 测试连接 192.168.136.55 ansible 192.168.136.56被控端 一、部署ansible 1.1 安装 zabbix-s只是主机名,不用在意,更好该主机也安装了zabbix,不好更改。 下载阿里云epel源 #安装阿里云的epel源&#…

计算机网络(9) --- 数据链路层与MAC帧

计算机网络(8) --- IP与IP协议_哈里沃克的博客-CSDN博客IP与IP协议https://blog.csdn.net/m0_63488627/article/details/132155460?spm1001.2014.3001.5502 目录 1.MAC帧 1.MAC地址 2.MAC帧报头 3.资源碰撞 4.MTU 1.对IP协议的影响 2.对UDP协议…

esp8266+电压检测模块检测电池电压

请注意 esp8266的ADC引脚受wifi模块影响,会导致不准确,具体请查看这里:https://github.com/esp8266/Arduino/issues/2070 简单说一下解决方案: ①如果不是频繁的读取数据,可以在wifi连接前读取数据然后存储到缓存&…

【Visual Studio Code】--- Win11 配置 VS Code 为中文 超详细

Win11 配置 VS Code 为中文 超详细 一、概述二、重要提示二、配置 VS Code 为中文 一、概述 一个好的文章能够帮助开发者完成更便捷、更快速的开发。书山有路勤为径,学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。 二、重要提示…

RT-Thread 的环形缓冲区 ---- 镜像指示位

可以看一下这篇我写的博客,了解一下大概: RingBuffer 环形缓冲区----镜像指示位_呵呵哒( ̄▽ ̄)"的博客-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/132340883?spm1001.2014.3001.5501 【回顾】缓冲区…

Mock平台-08开发:项目管理(四)编辑功能和Component抽离

【Mock平台】为系列测试开发教程,从0到1编码带你一步步使用Spring Boot 和 Antd React框架完成搭建一个测试工具平台,希望作为一个实战项目对各位的测试开发学习之路有帮助,大奇一个专注测试技术干货原创与分享的家伙。 本篇重点:…

MetaMask Mobile +Chrome DevTools 调试Web3应用教程

注:本教程来源网络,根据项目做的整理 写好了WEB3应用,在本地调试用得好好的,但是用钱包软件访问就报莫名的错,但是又不知道是什么原因,排查的过程非常浪费时间 。 因此在本地同一局域网进行调试就非常有必要…