sed应用 升级场景配置文件更新 指定行追加

function addLine()
{
 confFile=configuration.xml
 isExist=`cat ${confFile} | grep "<listen_enable>"`
 if [ "X" == "X${isExist}" ]
 then
   # 在<listen_port>后追加<listen_enable>行
   sed  -i /<listen_port>/a\    <listen_enable>true</listen_enable>‘ ${confFile}
   echo "addLine result:$?"
 fi
}
  • 不用加 g选项 就默认把符合条件的都加入  a\ 后面的内容
  • 加入一行默认是自动换行;
  • 加 \n可以在满足条件的行下方加入多行
sed -i ‘/pattern/a\addOne\naddTwo\naddThree‘ file  

  

时间: 2024-08-03 00:07:21

sed应用 升级场景配置文件更新 指定行追加的相关文章

sed 删除最后几行 和删除指定行 awk使用

sed 删除最后几行 和删除指定行 转载原文链接:http://blog.51cto.com/lspgyy/1305489 sed 想删除文件中的指定行,是可以用行号指定也可以用RE来匹配的. 删除指定的行[可以指定行号删除.匹配字符串来删除] [[email protected] ~]# cat -n seq.txt 1 ok i will help you 2 understand sed usage 3 how to use it 4 and we should use it in vie

Sed删除和添加指定行的上下行的数据

课题一:删除匹配行的上一行和下一行数据 1.删除匹配行的上一行和下一行: sed -i -e '/string/{n;d}' -e '$!N;/\n.*string/!P;D' filename 2.删除匹配到特定字符所在行的上一行 sed -i -e '$!N;/\n.*string/!P;D' filename 3.删除匹配到特定字符所在行的下一行 sed -i -e '/string/{n;d}' filename 4.sed中使用变量,删除匹配行的上一行和下一行: AA=string #

sed 指定行范围匹配(转)

sed -n '5,10{/pattern/p}' file sed是一个非交互性性文本编辑器,它编辑文件或标准输入 导出的文件拷贝.标准输入可能是来自键盘.文件重定向.字符串或变量,或者是一个管道文件.sed可以随意编辑小或大的文件,有许多sed命令用来编辑. 删除,并允许做这项工作时不在现场.sed一次性处理所有改变,因而变得很有效,对用户来说,最重要的是节 省了时间.sed必须通过行号和正则表达式指定要改变的文本行 sed怎样读取数据:sed从文件的一个文本行或从标准输入的几种格式中读取数

sed在指定行上删除和添加字符

欢迎转载!转载时请注明出处:http://blog.csdn.net/nfer_zhuang/article/details/44020599 引言 我在一个项目中需要发布版本,两个客户的需求基本相同,只有是在一个fm34(消回音)模块上一个有该功能,另外一个没有.那么就存在在发版本的时候根据需要打开和关闭关于fm34相关的代码. 其中的一个就是是否需要inmod一个ko文件,我的处理是: 在脚本中有inmod该ko的一行代码,但是默认是被注释掉的 在给需要该功能的客户发布版本时,通过sed将改

INSERT INTO .. ON DUPLICATE KEY更新多行记录

转自:http://www.ludou.org/insert-into-on-duplicate-key-update-for-multiple-items.html 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE:如果不会导致唯一值列重复的问题,则插入新行.例如,如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果: 1234 INSERT 

C# DataGridView 对指定行文字加粗实现阅读标记

在使用DataGridView控件放置通知等信息时,会遇到标记"已读"."未读"的问题.通过SQL语句查询出的结果中,"已读"."未读"会被放在一个专门的字段(DataGridView的列)中用来标记这个 条目的阅读情况.本文的目标就是要做到在显示上区分当前用户已读和未读的条目. 1.准备工作 建立一个C#窗体应用程序,里面放置一个Dock属性设置为Full的DataGridView 2.程序代码 在Load函数中,模拟生成了

Java如何实现按指定行读取文件

最近在开发实战中,遇到了一个这样的技术情景: 把log4j生成的日志文件定时刷进MySQL数据库,比如三个小时刷一次,那么每次刷数据的时候,如何控制文件读取是从上一次文件读取结束的地方开始继续读取的?并且本次要读取到文件结尾处.在网上各种搜索提问后,找到了一个叫RandomAccessFile Java类解决了问题. 先上代码: static int size=1;//主要是为了控制循环的次数,因为是定时刷,每次刷的文件行数可能不一样 static long chars=0;//chars指的是

EF更新指定字段...

EF更新指定的字段... 搜来搜去发现没有自己想要的啊... 或许本来就有更好的办法来实现我这个,所以没有人来搞吧... 如果有,请不吝告知..GG.. //要更改UserInfo表中指定的列,比如这个表有15列,如果很多列都要更新,就要判断要更新哪个不要更新哪个.. //现在这样就是传过来多少列,循环更新下就可以了 public string UserInfo_Update_Test(string jsonParames) { jsonParames = "一个json串";//比如

SQL查询显示行号、随机查询、取指定行数据

1.显示行号 如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用临时表,但在SQL Server2005中,使用ROW_NUMBER()非常方便. select row_number() over (order by UseriD) as rowNum,* from UserInfo 查询结果: 2.随机查询 有的时候我们需要查询出的数据是随机排序的,newid()函数在扫描每条记录时