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

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

  • 营改增后房地产会计账务处理
  • 现代服务是可以做什么的
  • 应纳税所得额是含税还是不含税
  • 个税身份证验证不通过已经申报缴税
  • 计提坏账所得税费用分录
  • 购买业务委托书计入什么科目
  • 收到电子退库如何操作
  • 忘了作废的发票能补开吗
  • 出口销售收入怎么算
  • 生产成本里面的工会经费
  • 材料采购成本差异属于什么科目
  • 实收资本印花税是一年一交吗
  • 转让公司账本凭证都要移交吗
  • 哪些情况下工资不低于最低工资标准的80
  • 退役士兵增值税优惠申报方法
  • 固定资产入账会计
  • 财务做哪些工作
  • 公司注销清算债权委托另一股东处理
  • 房产税计税依据是含税还是不含税
  • 暂估成本跨年怎么算
  • 存货计划成本法好处
  • win11系统咋样
  • 转让股权怎么做会计分录
  • php中各种定义变量的值
  • 篱笆的样子
  • 获取企业微信用户身份信息授权失败
  • vue区别
  • logparser命令
  • cjzc框架
  • mongodb用法
  • php 下载上传文件
  • python中numpy数组和列表的区别
  • 微信公众号认证300元每年都要吗
  • 短期借款会计如何做账
  • 个人对公付款
  • 织梦cms要钱吗
  • java多线程经典案例
  • 织梦图集的使用教程
  • php判断数据库用户名是否存在
  • 混合销售如何做会计分录
  • 成本会计制造费用核算的内容
  • 建筑企业小规模纳税人
  • 普通增值税发票会计科目如何写?
  • 如何利用sql进行数据传输
  • mysql导入sql文件命令
  • 小规模的认定标准
  • 公司购入的财务会计分录
  • 无形资产发生减值后怎么摊销
  • 当月进项发票忘记抵扣
  • 公司账户转账转错了能退回来吗
  • 金蝶固定资产管理
  • 销售发奖金感谢说说
  • 应收账款如何做坏账
  • 实收资本挂在其他应收款现在股权转让
  • 代销货物收取手续费计入
  • 粗纤维测定仪价格
  • 总公司与分公司的关系
  • 房租增值税专用发票需要开多张,单位和数量如何填写
  • 矿山运输设备的点检绩效考核
  • 查询存储过程中的文件
  • 将sql语句的执行状态传递给主语言的是
  • centos硬盘扩容
  • win10连无线网络受限
  • win10彻底恢复出厂设置
  • win10系统预览版
  • 英语中our和my的区别
  • Android Chromium WebView学习启动篇
  • dos查看内存命令
  • python计算两个数乘积代码
  • 消耗cpu的软件
  • javascript教程推荐知乎
  • windows中的linux
  • 南京税务局是地市级还是副省级
  • 山西税务官网登录
  • 青海省地方税务局领导名单
  • 新车缴纳车船税减免性质是什么
  • 社保诚信申报怎么取消
  • 福建税务局电子
  • 会计开票要填哪些信息
  • 金融商品转让是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设