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

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

  • 小规模纳税人合理避税
  • 企业所得税怎么算出来
  • 预收账款负数重分类调整
  • 一般纳税人企业所得税政策最新2023税率
  • 增值税主表填报说明
  • 研发费用可以结转以后年度抵扣吗对吗
  • 土地出让交增值税多少
  • 广告费收入是不是非税收入
  • 有限合伙企业清算
  • 一张报关单上最多不能超过
  • 税金及附加里面有印花税吗
  • 当月没有认证的发票要勾选吗
  • 建筑施工企业的安全生产许可证由哪里颁发
  • 在建工程完工,并当日签订出租协议的会计分录
  • 研发产品样品对我出售账务处理
  • 企业年金个税如何计提
  • 逾期往来账款怎么处理?
  • 生产成本明细账怎么填图片
  • 租房押金收不回来怎么做账
  • 房地产土地增值税计税依据
  • 收购股权公司
  • 关闭同步中心 win10
  • 年末结转年初建账
  • 存量资金上缴国库是哪个文件规定了
  • win10玩游戏fps低怎么办
  • 怎么解决在澳洲吸烟
  • 销售额是否含税?
  • 财务人员如何审核合同
  • mac vue搭建本地环境
  • antdesign vue pro
  • 成本会计工作流程表
  • 如何使用rank函数排名
  • 计算机网络拓扑结构有哪些
  • 自动驾驶科普
  • 使用ajax实现页面分页
  • ls命令的作用
  • 民办幼儿园需要什么资质
  • system error
  • 所得税费用要结转损益吗
  • 销售折扣购物卡怎么做账
  • 增值税进项税加计抵减
  • 子公司分公司和办事处账务上的区别有哪些
  • 个人提供劳务怎么去税务局开发票
  • 销售费用工资是什么科目
  • 对公付款对方不发货不退钱怎么处理
  • 餐饮业税务申报
  • 补贴收入税收政策
  • 车险 保险金额
  • 结转成本时库存商品是负数
  • 利润表中本期金额是什么意思
  • 建筑企业缴纳资源税
  • 代开运输发票会不会造成重复征税?
  • 房地产开发企业分为几个等级
  • 从工程款中扣除质保金
  • 无发票入账违反什么规定
  • 收入的利息如何计算
  • mysql必知必会mobi
  • win10 发布
  • win10服务怎么打开
  • ubuntu怎么样
  • fedora s9
  • win7系统开机黑屏
  • Linux(CentOS)用split命令分割文件的方法
  • winxp共享文件
  • grub修复引导windows10
  • win10系统永久激活软件
  • 苹果mac怎样
  • Mac显示桌面快捷键
  • linux shell命令大全
  • linux管理器
  • js获取中文拼音
  • jquery table加载数据
  • 不错的意思
  • vue组件生命周期执行顺序
  • Node.js中的construct构造函数
  • android 系统app权限
  • python datetime.now
  • nodejs回调函数例子 getdata check
  • 厦门市地方税务局市稽查局关于规范稽查有关规定
  • 建筑劳务分包业务范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设