位置: 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旗舰版最新版本)

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

  • 企业汇算清缴时允许税前扣除的工资是
  • 税务师考试要求核酸检测
  • 大凭证小凭证
  • 缴纳的增值税比账面的少怎么做账
  • 企业的内部银行
  • 印刷宣传册是违法吗
  • 房地产企业还有未来吗
  • 门面入股做生意
  • 免费样品销售给客户计入什么科目
  • 施工企业仪器设备入什么会计科目核算?
  • 建筑劳务分包一般纳税人可以选择简易计税法吗?
  • 专利年费是不是只能一项一项交
  • 长期待摊费用当月减少当月摊销吗
  • 未成立工会的企业、事业单位
  • 上缴国家利润应计入什么会计分录?
  • 月末结转增值税凭证
  • 筹建期间发生的费用计入什么科目
  • 跨年度的房租发票怎么做账
  • 应用程序无法正常启动(0xc0000142)
  • 后裔王者荣耀台词大全
  • 企业所得税计算方法公式
  • 企业收到政府补助需要开发票吗
  • 如何设定电脑开机密码锁
  • php表单系统源码
  • 出租商品计入其他业务收入吗
  • 以租代购怎么入账
  • php imagecreatetruecolor 创建高清和透明图片代码小结
  • phpstorm ftp
  • 内部审计类型分为哪几种
  • php目录结构
  • 公司员工生病看望的红包能入公司账吗
  • 装修房子监理
  • 处置工程物资取得净收益
  • 享受小型微利企业税收优惠的条件
  • 公司制作横幅计入什么科目?
  • php框架零基础入门
  • Joomla调用系统自带编辑器的实现方法
  • 首个ChatGPT开发的应用上线;ChatMind思维导图工具;中文提示词大全;Copilot平替 | ShowMeAI日报
  • 最全面的心脏检查怎么做
  • vue企业开发实战
  • php登录流程
  • 其他应收款的核算范围包括
  • 离职补偿金可以拖欠么
  • 新成品油发票开具的模块解密是?
  • 待报解预算收入什么意思
  • 样品费计入
  • 工程外地预缴会计分录
  • 暂估入账的固定资产
  • 未实现内部交易损益是什么意思
  • 固定资产折旧计算方法公式大全
  • 走逃发票账务处理
  • 无成本票如何避税
  • 低值易耗品与固废的区别
  • 银行本票的使用仅限于
  • 编制利润表的主要根据是
  • sql server 2012r2
  • window10 bitlocker
  • windosxp无法启动
  • linux 磁盘使用
  • windows10 rs2
  • 在mac设备上用到什么
  • win10微软在哪
  • 安装完win8后没有无线网络
  • WIN XP下VMware Tools(虚拟机)安装的详细方法(图文教程)
  • win7系统的word文档中的工具在哪里
  • macbook系统截图
  • win8.1开机音乐
  • win10win8双系统
  • javascript零基础
  • ExtJS Ext.MessageBox.alert()弹出对话框详解
  • prize draw是什么意思
  • python火车订票系统
  • python操作xml文件
  • javascript怎么做
  • 简单的横向棱纹魔杖
  • js脚本使用教程
  • 基于unity的游戏开发
  • 如何发挥人才作为第一资源 护理
  • 企业年金个人缴纳的辞职能拿吗
  • 甘肃省国家税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设