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

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

  • 烟丝是消费税的征收范围
  • 去参加博览会的英文
  • 一般纳税人跨月红冲专票怎么报税
  • 居民转供电收费标准
  • 哪些会计科目需要结转
  • 纳税人少缴税款,税务机关发现之日怎么算
  • 销售之后发生销货折让收到红字发票如何做账?
  • 按价格从价缴纳增值税
  • 金税三期个人所得税税率
  • 以前年度损益调整会计分录
  • 怎么不用关税
  • 实收资本印花税税率多少
  • 未分配利润调整会计分录
  • 公司收到法院的欠款起诉书,应该怎么办
  • 调账以前年度损益调整如何结转
  • 投资款多投了怎么办
  • 没超过标准的招待费缴税吗
  • 计提附加税的会计处理
  • 汽车配件税收分类
  • 平均年限法如何计算
  • 预存电费余额是什么意思
  • 2021最新版眼保健视频
  • php常见面试问题
  • 基于php代码实现数据库
  • 上个月做的无票收入,这个月开票怎样做分录
  • 餐饮发票可以计入研发费用吗
  • pddocument.load
  • mac os x 10.0
  • PHP:preg_split()的用法_PCRE正则函数
  • win10任务栏搜索如何关闭
  • 损失赔偿金要开什么发票
  • 父子之间房屋赠与费用
  • 有形动产租赁税收优惠
  • php中execute
  • 注册公司时认缴和实缴时间怎么填
  • php redis常用命令
  • 新企业所得税税前扣除政策
  • chattra
  • 外币应收账款汇兑损失计入
  • 公司的投资利税是什么
  • SQL Server FileStream详解
  • 最好用的刷题笔
  • 现金流量表里包括应收票据吗
  • 营业总成本包括投资收益吗
  • access数据库不能存放什么数据
  • db2 798
  • mysql触发器使用
  • 资产处置损益要写明细账吗
  • 股东权益包括什么科目
  • 固定资产改造的配件怎么入账
  • 有借款合同还要写借条吗
  • 活动费用在哪个科目
  • 调整事宜
  • 以物易物是什么时代
  • 出租土地使用权计入什么科目
  • 买断式与回购式
  • 固定资产清理明细账采用什么账簿
  • 会计写数字的技巧和方法
  • u盘启动盘如何克隆另外u盘
  • WIN10系统怎么删除3Dmax
  • linux安装.sh
  • 只需要30秒让让你的电脑速度快一倍
  • 电脑进程wsappx是什么
  • 系统分区引导修复
  • 苹果mac os x 怎么样使用光盘
  • win10怎么这只让任务栏图标居中显示?
  • win10 cpu使用率高怎么办
  • 注册win7账号
  • win7系统电脑无声音
  • win8系统怎么设置
  • javascript中
  • 分享五个有用的东西
  • nodejs模拟点击
  • listview安卓
  • kui血条插件设置
  • shell脚本中实现rm -fr !(file1)
  • Javascript字符串对象函数
  • python 终端
  • python 中文转码
  • 出租房地面铺什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设