当前位置: 首页 > ds >正文

文本三剑客

目录

1.文本三剑客

2.awk

常见的内置变量

3.sed

选项:

脚本语法:

查找替换:

步进:


1.文本三剑客

awk;sed;grep

读取方式为:vim先将整个文件放入内存中进行编辑;awk是先将文件中的一行读取处理一行,在每一列处理;sed也是将读取一行处理一行

2.awk

awk可以对文件;标准输出;重定向进行处理。

命令格式:awk 选项  ‘BEGIN处理动作END’   对象

-F 选择以什么作为分隔符

-v 变脸赋值

常见的内置变量

- FS :指定每行文本的字段分隔符,缺省默认为空格或制表符(tab)。与 “-F”作用相同  -v "FS=:"
- OFS:输出时的分隔符
- NF:当前处理的行的字段个数
- NR:当前处理的行的行号(序数)
- $0:当前处理的行的整行内容
- $n:当前处理行的第n个字段(第n列)
- FILENAME:被处理的文件名
- RS:行分隔符。awk从文件上读取资料时,将根据RS的定义就把资料切割成许多条记录,而awk一次仅读入一条记录进行处理。预设值是\n

3.sed

命令格式:

sed 选项 '脚本语法' 对象

选项:

-n                        不自动打印
-e                        多个编辑
-f                        从指定文件中读取编辑脚本
-r,-e                    使用扩展正则表达式
-i                        备份文件并在原出编辑
-i.bak                    备份文件并增加后缀名(.bak)

注:-ir 不可使用;-ri可使用;-i -r 可使用

脚本语法:

地址+命令(不写地址,默认全文)($最后一行)
'空'                        标准输出
'3p'                    打印第三行
'$p'                    打印最后一行
'//p'                    '//'内可以使用正则表达式
'3,6p'                    打印出3到6行
'3,6p;1p'                打印出3到6行与第1行
'/^b/,/^g/p'            打印出b开头行到g开头行的所有行
'3q'                    打印到第3行退出
'2d'                    删除第2行
'1,2d'                    删除1到2行
'2a123'                    在第2行下1行加入123
'2i123'                    在第2行位置插入123
'2c123'                    将第2行替换为123
'2a123\n123'            在第2行下2行加入123

查找替换:

类似于vim:‘s/想要改的对象/改后的内容/g’

步进:

1~2        从1开始往后走2行

2~2        从2开始往后走2行

http://www.xdnf.cn/news/4176.html

相关文章:

  • 字符串匹配 之 拓展 KMP算法(Z算法)
  • 数据集-目标检测系列- 印度人脸 检测数据集 indian face >> DataBall
  • 深度解析:从 GPT-4o“谄媚”到 Deepseek“物理腔”,透视大模型行为模式的底层逻辑与挑战
  • Unity:AddTorque()(增加旋转力矩)
  • uniapp 云开发全集 云数据库
  • JavaScript 笔记 --- part7 --- JS进阶 (part2)
  • 【信息系统项目管理师-论文真题】2008上半年论文详解(包括解题思路和写作要点)
  • Python生活手册-NumPy数组创建:从快递分拣到智能家居的数据容器
  • 互联网大厂Java求职面试:AI大模型与云原生架构设计深度解析
  • 【学习心得】Xtuner模型qlora微调时错误记录
  • 【嘉立创EDA】FPCB(Flexible-PCB)柔性软板设计如何增加补强层
  • 反常积分(广义积分)
  • Redis总结(六)redis持久化
  • C++ 适配器模式详解
  • Java中使用Lock简化同步机制
  • 安装SDL和FFmpeg
  • 强化学习ppo算法在大语言模型上跑通
  • [ 设计模式 ] | 单例模式
  • Android学习总结之GetX库篇(场景运用)
  • 智能合约在去中心化金融(DeFi)中的核心地位与挑战
  • 机器学习中常见搜索算法
  • 代码随想录算法训练营第三十二天
  • Scrapy爬虫实战:如何用Rules实现高效数据采集
  • STM32教程:DMA运用及代码(基于STM32F103C8T6最小系统板标准库开发)*详细教程*
  • Vue3响应式原理那些事
  • PyTorch 张量与自动微分操作
  • 研0大模型学习(第12天)
  • 《深入理解 Java 虚拟机》笔记
  • 三、【LLaMA-Factory实战】模型微调进阶:从LoRA到MoE的技术突破与工程实践
  • 一文读懂Python之pandas模块