linux sed 写文件,使用sed对文件进行操作

使用sed对文件进行操作

[日期:2012-12-07]

来源:Linux社区

作者:bobo12082119

[字体:大 中 小]

一.附加文本

使用a\在指定行后面附加1行或多行;若不指定放置的位置,则默认放到每一行的后面。

附加文本时,不允许指定范围,只允许一个地址模式。

附加格式:

[address] a\

text\

text\

...

text

注意:

1.a\通知sed对a\后面的内容进行附加操作。

2.每行后面都有"\",当sed执行到\时,将创建一个新行,并将内容添加进去。

3.最后一行不能有"\"。

例子:

如果将附加的第一行最后的"\"去掉,那么运行脚本将会报错。

pg append.sed

#!bin/sed -f

# append text

/company/ a\

Then suddenly it happened.

_yeeXun.

执行之后:

sed -f append.sed quote.txt

sed: Unrecognized command: _yeeXun.

修改之后

pg append.sed

#!bin/sed -f

# append text

/company/ a\

Then suddenly it happened.\

_yeeXun.

执行脚本:

sed -f append.sed quote.txt

The honeysuckle band played all night long for noly $90.

It was an evening of splendid music and company.

Then suddenly it happened.

_yeeXun.

Too bad the disco floor fell through at 23:10.

The local nurse Miss P.Neave was in attendance.

因为sed不与原文件打交道,编辑的只是其一个拷贝,所以我们附加的数据不会写到文件中;

当执行上面的命令之后,我们查看下quote.txt文件:

pg quote.txt

The honeysuckle band played all night long for noly $90.

It was an evening of splendid music and company.

Too bad the disco floor fell through at 23:10.

The local nurse Miss P.Neave was in attendance.

二.修改文本

使用c\修改指定行,格式:

[address[,address]] c\

text\

text\

...

text

address:行位置,可以使用正则表达式定位,也可以直接指定行号。

text:为替换的文本,注意最后一行没有"\"。

例子

替换第三行数据:

pg change.sed

# change date

/bad/ c\

[Two good.]\

next goods.

运行脚本:

sed -f change.sed quote.txt

The honeysuckle band played all night long for noly $90.

It was an evening of splendid music and company.

[Two good.]

next goods.

The local nurse Miss P.Neave was in attendance.  0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308347.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修复被破坏的 vs 工程设置(续)

缘起 在上一篇文章——《修复被破坏的 vs 工程设置》中,我分享了修复被破坏的 vs 工程设置的实战。本以为圆满解决了问题,没想到另有玄机。所以又来分享一篇刨根问底的文章。查看文件 打开 Microsoft.Cpp.Win32.user.props 一看,里面并没有任…

linux find查找文件然后删除,linu查找find命令及删除7天前的文件

在/ l o g s目录中查找更改时间在7日以前的文件并删除它们: $ find logs/ -type f -mtime 7 -exec rm -f {} \; 在/ l o g s目录中查找更改时间在7日以内的文件并删除它们: $ find logs/ -type f -mtime -7 -exec rm -f {} \; 然后加入的计划任务中每日执…

7-46 新浪微博热门话题 (30 分)(思路+详解+set + map)pta逐个点过的 来呀兄弟们

一 :题目 新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题。新浪微博还会随时更新热门话题列表,并将最热门的…

工作十余年,还是一直被问 委托和事件 有什么区别? 真是够了

一:背景1. 讲故事前几天公司一个妹子问我,事件和委托有什么区别?先由衷感叹一下,编码十余年,年轻的时候常被面试官问起,现在年长了,却被后辈们时常问候,看样子逃离编码生涯之前是跑不…

7-47 打印选课学生名单 (25 分)(两种做法)(思路加详解+map+vector做法+最后一个点超时解决)+兄弟们冲丫丫

一:题目 假设全校有最多40000名学生和最多2500门课程。现给出每个学生的选课清单,要求输出每门课的选课学生名单。 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数;K&#xf…

linux取设备分辨率,linux 获取系统屏幕分辨率

三步将Node应用部署到Heroku上Heroku是一个提供快速部署服务的云平台.支持Node,Ruby,Java,PHP,Python,Go多种语言,今天体验了下,简直不要太爽.下面简单的介绍一下. 首先还是要注册一个账号:https: ...jQuery操作Table tr td常用的方法虽然现在DIVCSS进行页的布局大行其道,但是很…

SwaggerUI看烦了,IGeekFan.AspNetCore.Knife4jUI 帮你换个新皮肤

背景好像是上周四,看到微信群有人说java有轮子swagger-bootstrap-ui,而c#,就是找不到。于是我一看,就说大话:“这个只是一套UI,他这个有开源地址么”被at说:你试试...当天晚上就把swagger-ui, Knife4j,Swas…

7-48 银行排队问题之单窗口“夹塞”版 (30 分)(思路和详解+map做法)来呀Baby!

一:题目 排队“夹塞”是引起大家强烈不满的行为,但是这种现象时常存在。在银行的单窗口排队问题中,假设银行只有1个窗口提供服务,所有顾客按到达时间排成一条长龙。当窗口空闲时,下一位顾客即去该窗口处理事务。此时如…

linux 启动程序 绑定id,linux如何根据进程ID查找启动程序的路径

昨天遇到一个问题,背景是这样的:我们工作环境不正常,使用ps命令查看,发现有程序A的两个进程状态一个是状态,一个是正常运行.由于该程序A是个通用服务程序,被拷贝成多份,分发到不同的目录中单独启动,只有各自配置不同而已,因此想知道是哪个目录的A程序处于僵死状态.正常运行中的…

7-49 打印学生选课清单 (25 分)(思路+详解+map做法(一对多)+超时解决)Come baby!

一:题目 假设全校有最多40000名学生和最多2500门课程。现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单。 输入格式: 输入的第一行是两个正整数:N(≤40000),为前来查询课表的学生总数&…

记一次批量处理数据库中的敏感信息

前言 对于一些敏感数据,往往会对其加密后再入库,这个是对数据安全性的一个最为简单的措施。最常见的莫过于手机号码和身份证号了,相信还是有不少公司对这些敏感信息是明文存储的。万一被别人发现系统漏洞,或者是被拖库&#xff0c…

修改linux路径,科学网-修改linux终端路径颜色-胡涛的博文

PuTTY或者Terminal路径默认颜色非常难看,如何修改?第一步,配置文件:命令行:dircolors -p > ~/.dircolors第二步,修改文件:使用vi打开~/.dircolors 文件,找到这一行: D…

7-50 畅通工程之局部最小花费问题 (35 分)(思路加详解)来呀兄弟们冲呀呀呀呀呀呀呀

一:题目 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速…

十多位全球技术专家,为你献上近十个小时的.Net微服务介绍

.Net Conf: Focus on Microservices 是 .Net Conf 社区在 2020 年 7 月 30 日举办的线上分享活动。整个活动视频长达近 10 个小时。今天我们来看看都发生了什么。章节汇总本次分享由十多位来自全球的资深技术专家在线分享,涵盖了当前 .Net 在微服务领域的利器。包括…

向linux内核增加新的系统调用,为linux内核添加新的系统调用

为linux内核添加新的系统调用作者:李志勇更多精彩:更多精彩:开发平台:x86 ubuntu目标平台:S3C6410linux3.4.4一、 打开内核源码目录下arch/arm/kernel/calls.S文件,在389行添加:/*378 */CALL…

5G发展是绵绵秋雨 应循序渐进

现阶段5G技术成熟度有待提升当下,在行业内5G基站的短板被调侃为“覆盖、成本、功耗三个3”,也就是3倍成本,3倍功耗、1/3覆盖。就功耗来说,5G基站是4G基站功耗的3倍左右。中国移动董事长杨杰就在GTI国际产业峰会表示,“…

7-52 两个有序链表序列的交集 (20 分)(思路加详解尾插法)come Boby!

一:题目 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空…

linux可疑程序,linux可疑程序追踪

今天的主角是旁边的服务器,学姐的Fedora。发生的情况和我的那台ubuntu类似。(看来是一起被黑了)连接虽挡,进程犹在其实昨天已经发现学姐的系统出问题了,采取的措施和我那台一样,iptables直接DROP和可疑IP的连接。今天学姐说&#…

明源云创CI/CD技术演进

源宝导读:在敏捷迭代的过程中需要能够快速的把开发的代码集成打包部署到各个环节对应的环境中。为了高效稳定的完成这个工作,我们引入了DevOps实践理论,并形成了配套的CI/CD工具。本文将介绍云创的CI/CD工具如何演进的过程。一 、传统构建在最…

7-51 两个有序链表序列的合并 (20 分)(vector做法)

一 :题目 、已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列&#xff…