位置: IT常识 - 正文

linux sed 多行处理详细总结(linux sed 行尾)

编辑:rootadmin
这篇文章主要介绍了linux sed 多行处理详细总结,需要的朋友可以参考下... 17-05-21

推荐整理分享linux sed 多行处理详细总结(linux sed 行尾),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux多行输入,linux选中多行,linux多行删除,linux选中多行,linux多行删除,linux多行删除,linux echo 多行,linux选中多行,内容如对您有帮助,希望把文章链接给更多的朋友!

在正常情况下,sed将待处理的行读入模式空间,脚本中的命令就一条接着一条的对该行进行处理,直到脚本执行完毕,然后该行被输出,模式空间请空;然后重复刚才的动作,文件中的新的一行被读入,直到文件处理完备。但是,各种各样的原因,比如用户希望在某个条件下脚本中的某个命令被执行,或者希望模式空间得到保留以便下一次的处理,都有可能使得sed在处理文件的时候不按照正常的流程来进行。这个时候,sed设置了一些高级命令来满足用户的要求。如果想要学习sed的高级命令,首先要了解如下两个缓存区:

1、模式空间(pattern space)的定义:模式空间就是一个缓存区,保存sed刚刚从输入端读取的。2、暂存空间(hold space)的定义:暂存空间就是在处理模式空间数据的时候,临时缓存数据用的。

还有几个命令参数:

linux sed 多行处理详细总结(linux sed 行尾)

g: 将hold space中的内容拷贝到pattern space中,原来pattern space里的内容清除G: 将hold space中的内容append到pattern space\n后h: 将pattern space中的内容拷贝到hold space中,原来的hold space里的内容被清除H: 将pattern space中的内容append到hold space\n后x: 交换pattern space和hold space的内容

比如咱们想要倒排一个文件的内容,文件如下:

[qiu.li@l-tdata1.tkt.cn6 ~]$ cat tmp 1-line2-line3-line

执行如下命令:

[qiu.li@l-tdata1.tkt.cn6 ~]$ sed '2,$G;h;$!d' tmp3-line2-line1-line

下面咱们逐步理解上面的执行过程

一、让咱们来分析一下如下三条命令:

2,$G:从第二行到最后一行执行G命令h:执行h命令$!d:删除除了最后一行的所有行

二、具体的操作

扫描到第一行将1-line放入模式空间;此时模式空间还是1-line;直接执行h命令,此时暂存空间是1-line;执行d命令,删除了模式空间仅有的一行数据,删除之后,模式空间是空的扫描到第二行将2-line放入模式空间执行G命令,将暂存空间的1-line添加到模式空间2-line的后面,此时模式空间是2-line\n1-line;执行h命令,此时暂存空间的内容是2-line\n1-line;执行d命令,模式空间被清空扫描到第三行将3-line放入模式空间,执行G命令,将暂存空间的2-line\n1-line添加到模式空间3-line的后面,此时模式空间是3-line\n2-line\n1-line;执行h命令,此时暂存空间的内容是3-line\n2-line\n1-line;不执行$!d;直接输出 3-line\n2-line\n1-line

当然,命令:sed '1!G;h;$!d' tmp 也能有这个效果。

本文链接地址:https://www.jiuchutong.com/zhishi/276272.html 转载请保留说明!

上一篇:windows7旗舰版系统防止电脑被远程控制的方法(windows7旗舰版最新版本)

下一篇:电脑中毒后的两个紧急措施是什么?(电脑中毒之后怎么办)

  • 长期待摊费用一般指什么
  • 社保由税务局统一征收的地区
  • 海南增值税发票图片
  • 加油卡充值可以退吗
  • ibps对公提回贷记分录
  • 三栏式明细账适用于银行存款吗
  • 厂区地面硬化属于土建还是市政
  • 销货退回的税务处理
  • 个税两种申报方式哪种好
  • 社保缴费基数的组成部分
  • 房地产企业售楼降价法律条文
  • 季度预缴能不能弥补亏损
  • 财务会计制度备案表
  • 供用电合同主要有
  • 无息贴息贷款合同印花税
  • 出纳需要填哪些表
  • 固定资产折旧属于制造费用吗
  • 契税与印花税能抵扣吗
  • 住房补贴是现金还是转账
  • 有留抵怎么交增值税
  • 不同业务的进项税额抵扣
  • 软件开发增值税即征即退2022
  • 关闭系统保留空间
  • windows4月更新
  • eml文件怎么打开方式
  • 停工损失会计准则
  • appservice是什么意思
  • 员工工伤一次性赔偿会计分录
  • 外籍人员个税免征吗
  • mch是什么文件
  • 别人说你坏话怎么发朋友圈说说
  • php升级到php7注意的问题
  • 1.启动前端项目怎么做
  • 我找到了这个
  • 筹建期间的开办费为什么不属于资产
  • 更改税种需要哪些资料
  • 结转未交增值税为什么是零
  • ci框架中新建的控制器取不到session
  • 【C#+JavaScript+SQL Server】实现Web端在线考试系统 五:考试模块设计(附源码和资源)
  • vue安装使用
  • 代垫运费增值税计入销项税额吗
  • 增值税普通发票税率
  • 商品咨询服务包含什么
  • 车船税为什么没有发票
  • 房地产企业所得税计算方法
  • java基本框架
  • 套期保值和套期图利
  • access数据库修改字段类型
  • mysql的常用命令
  • 专票不抵扣认证怎么操作
  • 企业每个季度叫什么
  • 同级财政和本级财政
  • 收到退回的以前的快递
  • 房地产中介公司排名
  • 先收到发票还没付款怎么做账
  • 法院强制执行根本没用
  • 没有收入有支出怎么处理账务
  • 境外劳务输出收费表标准
  • 基本户怎么提现金
  • 技术服务费会计处理
  • 企业研制新产品
  • MYSQL updatexml()函数报错注入解析
  • winpe如何使用
  • ubuntu命令行怎么用
  • fedora系统怎么安装
  • windows xp sp3 vl
  • centos删除virbr0
  • win8怎么禁止开机启动项
  • 如何修改win7电脑用户密码
  • linux的截图工具
  • windows10储存
  • ubuntu搭建ss
  • 安卓手机微信取消窗口化
  • mysql定时脚本
  • 如何在unity里设置碰撞体积
  • nodejs为什么性能这么好
  • shell监控http脚本
  • python中删除语句
  • 重大税务案件审理办法51号令
  • 消费税的税收筹划ppt
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设