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

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

  • 增值税抵扣了还能作废吗
  • 餐饮设备租赁服务属于
  • 小规模销售产品会计分录
  • 个人所得税谁交
  • 合伙企业需要报工商年报吗
  • 收了押金不退
  • 附加税费计税依据
  • 医疗服务收入占比标准
  • 利润和营收哪个更重要
  • 结存材料物资会计分录怎么做?
  • 商品折扣促销方式的会计处理如何做?
  • 销货清单和发票金额不一致
  • 存货损失会计处理
  • 增值税专用发票和普通发票的区别
  • 增值税和消费税的区别和联系
  • 增值税发票不小心撕坏了怎么办
  • 重庆房产税政策历史
  • 公司发票限额按什么计算
  • 应收账款坏账准备计算表
  • 投资性房地产转为存货
  • 仓库间的调拨流程
  • 增值税总分机构可以汇总纳税吗
  • 出口退税和增值税抵扣一样吗
  • 季度不含税收入30万以内免增值税
  • 商铺土地增值税清算
  • 电脑win10点开始没反应
  • 主营业务收入科目应按什么进行明细核算
  • 预缴增值税附加税款怎么填写申报表
  • 用代管资金付出的钱
  • 月底财务为什么要关账,暂时开不了发票
  • mac os右键
  • pop是什么文件
  • KbdTray.exe - KbdTray是什么进程 有什么作用
  • directx/?
  • ecap.exe是什么
  • 长期股权投资会影响利润吗
  • 私有化部署chatGPT,告别网络困扰
  • 科技推广和应用服务业属于第几产业
  • 投资收益属于营业外收入吗
  • 提示框架
  • mac怎么下载postman
  • 金税四期讲解视频
  • 减值准备的定义
  • 定额备用金怎么做分录
  • 资源税的账务处理
  • 国外工程合同类型
  • 技术服务费怎么交税
  • 印花税税率是多少
  • 网上报税零申报流程演示2018
  • 税控盘的会计分录怎么做
  • mysql第五章上机
  • centos6.5下mysql 5.7.19 安装配置方法
  • linux sshd是什么
  • telnet root
  • win7网页无法访问
  • ubuntu多桌面切换
  • 电脑怎么换系统教程
  • acer笔记本重装系统教程
  • mac os 删除
  • win1020h2正式版
  • windows8使用技巧
  • mac os固件下载
  • win8怎么打开cmd命令窗口?
  • kdeskcore.exe是什么
  • 红石id
  • javascriptj
  • cocos2d教程
  • 安卓开发框架mvvm
  • photon server 限制防火墙
  • js实现二叉查找树
  • 安卓自定义状态栏图标
  • JavaScript基本语法与页面对象的应用
  • jquery提交
  • JavaScript程序设计形考任务第一次任务
  • 四川省地方税务局关于城镇土地使用税困难减免
  • 修改季度申报表
  • 国家税务局机打发票可以报销吗
  • 内蒙古国家税务局网上电子税务局官网
  • 个体户定额纳税
  • 客运站汽车票查询真伪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设