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

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

  • 支付宝红包怎么退回给对方 (支付宝红包怎么领)

    支付宝红包怎么退回给对方 (支付宝红包怎么领)

  • 华为matebook13充电充多久(华为matebook13充电充不进去)

    华为matebook13充电充多久(华为matebook13充电充不进去)

  • 转转申请退款卖家不处理怎么办(转转申请退款卖家不理会怎么样)

    转转申请退款卖家不处理怎么办(转转申请退款卖家不理会怎么样)

  • 电压rms是什么意思(电压里面的rms是什么意思)

    电压rms是什么意思(电压里面的rms是什么意思)

  • 实时操作系统分为哪两种类型

    实时操作系统分为哪两种类型

  • 华为p40pro有多重(华为p40pro机身重量多少)

    华为p40pro有多重(华为p40pro机身重量多少)

  • 苹果11可以拿水冲吗(iphone11可以水冲吗)

    苹果11可以拿水冲吗(iphone11可以水冲吗)

  • 华为步数怎么关(华为步数怎么关闭微信同步)

    华为步数怎么关(华为步数怎么关闭微信同步)

  • 腾讯实名认证超出限制(腾讯实名认证超过五次怎么办)

    腾讯实名认证超出限制(腾讯实名认证超过五次怎么办)

  • 尊享版是什么意思(尊享版和普通版有什么区别)

    尊享版是什么意思(尊享版和普通版有什么区别)

  • xr苹果手机不拆机怎么看进水(xr拆机拆不开)

    xr苹果手机不拆机怎么看进水(xr拆机拆不开)

  • 抖音火山和抖音短视频有什么区别(抖音火山和抖音极速版怎样才能同步)

    抖音火山和抖音短视频有什么区别(抖音火山和抖音极速版怎样才能同步)

  • 用开发者模式伤手机吗(用开发者模式伤内存吗)

    用开发者模式伤手机吗(用开发者模式伤内存吗)

  • 抖音没播放量怎么回事?(抖音没播放量怎么回事)

    抖音没播放量怎么回事?(抖音没播放量怎么回事)

  • iphone7可以分屏吗(iphone7可以分屏操作吗)

    iphone7可以分屏吗(iphone7可以分屏操作吗)

  • 笔记本电脑如何重启(笔记本电脑如何连接无线网络wifi)

    笔记本电脑如何重启(笔记本电脑如何连接无线网络wifi)

  • 200m宽带下载速度多少mbps(200m宽带下载速度应该是多少)

    200m宽带下载速度多少mbps(200m宽带下载速度应该是多少)

  • 软件开发一般有几个阶段(软件开发一般有哪几个阶段)

    软件开发一般有几个阶段(软件开发一般有哪几个阶段)

  • 微信陌生人看朋友圈会有记录吗(微信陌生人看朋友圈对方知道吗)

    微信陌生人看朋友圈会有记录吗(微信陌生人看朋友圈对方知道吗)

  • vue照片速度怎么调节(vue怎么增加照片时长)

    vue照片速度怎么调节(vue怎么增加照片时长)

  • 拼多多评论怎么没有显示(拼多多评论怎么删除重新评论)

    拼多多评论怎么没有显示(拼多多评论怎么删除重新评论)

  • 红魔3什么时候出上市(红魔3全新)

    红魔3什么时候出上市(红魔3全新)

  • 【AIGC】GitHub Copilot 免费注册及在 VS Code 中的安装使用(github ci/cd)

    【AIGC】GitHub Copilot 免费注册及在 VS Code 中的安装使用(github ci/cd)

  • python中DataFrame的运算总结(python中dataframe的布尔过滤)

    python中DataFrame的运算总结(python中dataframe的布尔过滤)

  • 增值税进项税额加计抵减会计处理
  • 没有购销合同的销售额交印花税吗
  • 营利性幼儿园怎样登记
  • 股东权益合计在报表哪里看
  • 购进货物用于建造厂房可以抵扣增值税吗
  • 公账的钱取现金
  • 工程 开办费
  • 需要冲红的普通发票无法收回怎么办
  • 其他权益工具和交易性金融资产
  • 归集研发费用时怎么计算
  • 全国统一吗?
  • 合作建房的土地出让金在土地增值税中可以加计扣除嘛
  • 延期缴纳税款的审批机关是
  • 提取法定盈余公积比例
  • 社保和公积金缴费基数怎么算
  • 旅游费开票内容
  • 简易计税项目可以差额征税吗
  • 补缴税款罚款
  • 机打发票多久可以作废
  • 已抵扣发票红冲后发票还给对方公司
  • 个人公益性捐赠全额还是限额
  • 资产减值损失需要结转吗
  • 申报工会经费怎么做账
  • 办理转移登记需要什么资料
  • 打包贷款和出口信贷的区别和联系
  • 银行回单箱费会扣吗
  • 微商行业代理奖金如何入账
  • 固定资产评估增值后如何入账
  • 在建工程的二级明细的讲解
  • 惠普笔记本电源适配器
  • 常见的电脑系统类型
  • javascript中
  • 用php制作日历2020日历表
  • 一般纳税人怎么交税
  • PHP:finfo_set_flags()的用法_fileinfo函数
  • 厂房押金不退怎么要回来
  • 出让土地使用权和转让土地使用权的区别
  • 银行汇票和银行本票的区别
  • 报销单跨月怎么记账
  • mysql中regexp_substr函数的使用
  • 研发专利什么意思
  • 个税借方的含义
  • 没有发票能办临时牌照吗
  • 会计在建工程属于什么科目
  • mongo认证失败
  • python如何实现事务机制
  • 保证增信行通俗理解
  • 物流货物丢失赔偿按照运费10倍
  • 一般项目的进项税和即征即退进项税
  • sql cell函数
  • 职工报销的医药费是什么
  • 出口退税一般风险商品
  • 材料采购和原材料和在途物资的区别
  • 工程结算与工程施工的差额在哪填列
  • 为外单位人员报备流程
  • 不得免征和抵扣税额抵减额分录
  • 汇算清缴可以调整主营业务成本吗
  • 产成品和半成品需要结转嘛
  • 财务软件服务费合同印花税
  • sql返回一条数据
  • dockers容器
  • solaris的多线程实现方式
  • win7电脑频繁自动重启是什么原因造成的
  • windows7 ie
  • ubuntu20.04最小化安装教程
  • centos查看inode
  • cygwin下载教程
  • CCAssert(sm_pSharedApplication, "")导致程序闪退的原因以及解决方案
  • Android OpenGL ES(二)----平滑着色
  • python编程入门指南
  • shell脚本检测文件是否存在
  • javascript怎么用
  • 置顶聊天折叠怎么关闭
  • javascript 类
  • android反编译smali
  • 非涉密网络严禁什么
  • 贵州省地方税务局税源管理平台(二次)招标合同公告
  • 法院执行的房子可以卖吗
  • 工商财税小知识
  • 社保费是国税还是地税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设