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

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

  • 增值税开票软件ukey版
  • 税务师有什么用处
  • 小规模纳税人取的专票能抵扣吗
  • 公允价值变动损益和投资收益区别
  • 固定资产盘点账实不符
  • 外购已税什么意思
  • 事业单位代扣社保公积金分录怎么写的
  • 卖二手车怎么做账务处理
  • 转账支票给员工转工资
  • 合作保证金可以退吗
  • 固定资产的计税基础6种情况
  • 企业年会的增值税能抵扣吗?
  • 查账征收企业所得税申报表怎么填
  • 公务用车用油
  • 酒店式公寓配套服务包括哪些
  • 资产负债表中应收账款的计算公式
  • 视同销售如何纳税调整?
  • 公司非本单位退休人员发放工资
  • 电子发票转收入怎么做为记账凭证?
  • 进项已抵扣怎么申报
  • 安置房账务处理
  • 海运费怎么做会计分录
  • 工程什么情况下可以索赔
  • 出口0税率是免抵退还是免税
  • linux minor
  • linux和windows的区别和联系
  • win7右键设置方法
  • php删除数据库数据代码
  • 开办补贴
  • 购物卡怎么给
  • nerosvc.exe - nerosvc是什么进程 有什么用
  • file*fp什么意思
  • PHP:finfo_buffer()的用法_fileinfo函数
  • 纳税人销售免税货物
  • 以其他方式取得土地使用权
  • 挂靠公司收费几个点
  • 毕业设计基于plc的全自动包装机
  • 没有什么盈利的公司应该进吗
  • 购入固定资产预付款怎么做账
  • 进项税和销项税月末怎么结转
  • 开票显示税收分录怎么办
  • 增值税小规模纳税人适用3%征收率
  • 亏损企业研发费用可以加计么
  • 电子发票能退回去吗
  • 施工企业会计科目
  • Sql Server 2005的1433端口打开局域网访问和进行远程连接
  • 企业税预缴在哪里
  • 律师事务所的所属行业是什么
  • 计提附加税费是什么意思
  • 残保金缴纳额计算公式
  • 汽车装修费计入哪个科目
  • 长期待摊费用装修费分摊分录
  • 缴纳税款滞纳金应计入哪个科目
  • 法院强制执行扣完款就完事了吗
  • 固定资产折旧方法不考虑净残值
  • 股权转让的会计分录
  • 销项负数发票如何作废
  • 账面价值,账面净值,账面余额三者的区别
  • 在sql查询中使用where子句指定的是
  • linux在服务器领域的应用状况
  • 双系统怎么卸载系统
  • centos关闭开机启动项
  • xp系统优化软件哪个好
  • mac修改默认系统
  • win10系统更新后无法开机
  • win8 64位触控版导致笔记本键盘失灵解决方法
  • windows10右键菜单
  • [置顶] 《精神怪谈》 后续起点
  • js移动端布局
  • 怎么用winrar打包压缩文件
  • unity固定位置随机生成物体
  • easyui-accordion
  • Android mediaplayer 网络超时
  • linux shell脚本攻略(第3版)
  • 用if函数计算个人应交所得税
  • 安徽省马鞍山地区代码
  • 企业所得税年度申报表A类
  • 银川到大武口的汽车站时刻表
  • 工业厂房房产税什么时候开始征收
  • 增值税发票冲红是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设