sed 多行替换,多行模式处理字符串;一次替换

作者:凨

例:
需求:sed 替换多行(2到6行)替换为空,且返回系统配置信息

<?php
/**CustomConfigurationStart*/
$c=require APP_PATH.'Common/Conf/config-custom.php';
/*COOKIES,SESSION域*/
$domain=preg_replace('/(.*\.|.*\/\/)?(\w+)\.(\w+)(\/)?$/', '.$2.$3',$c['WWW']);
/**CustomConfigurationEnd*/
/**
 * 系统配文件
 * 所有系统级别的配置
 */
$d=[
.......
];return array_merge($d,$c);

结果:

<?php
/**autoFormatNull*/
/**
 * 系统配文件
 * 所有系统级别的配置
 */
return [
......
];

1.sed替换多行,替换为空或其他字符串autoFormatNull

方法一:
sed -i '2,6d' config.php
方法二:
sed -i ':a;$!{N;ba};s/CustomConfigurationStart.*CustomConfigurationEnd/autoFormatNull/' config.php

2.sed 替换$d=[替换为return [

sed -i 's/\$d=\[/return \[/g' config.php

3.sed 替换末尾数据替换为];

sed -i 's/];return.*array_merge(\$d,\$c);/];/g' config.php

感谢:http://blog.csdn.net/jevens17/article/details/6601368 提供思路

时间: 2024-09-27 17:06:48

sed 多行替换,多行模式处理字符串;一次替换的相关文章

php读取文本文件替换指定行

  代码如下   $file_path = '123.txt'; $content = file_get_contents($file_path); //按换行符把全部内容分隔成数组 $con_array = explode("n", $content); //替换掉指定行       $con_array[12]="123"; //组合回字符串 $con = implode("n", $con_array);       //写回文档 file

国有大行、股份行之间的互联网金融战正酣

国有大行.股份行之间的互联网金融战正酣,城商行也悄然加入到了战场. 据<中国经营报>记者了解,目前不少城商行在互联网金融领域加快了步伐,通过线上通道打破地域限制,补齐网点不足的短板.借鉴一些大行在互联网金融创新经验,城商行通过和其他机构合作提升自己实力. 此外,一些实力不凡的城商行甚至已经搭建起理财平台.P2P平台,加速探索基于互联网和金融的创新业务. 线上"生意经" 浙商银行与生意宝展开战略合作:包商银行搭建"小马Bank"综合性理财平台:城商行筹备P

oracle的行迁移和行链接

定义: 行迁移:因为update.将行变长.原来的块已经放不下了.行被挪进新块. 行链接:行一开始就太大.比如你插入了1w个字节的行.必须要分两个块存放. 由此.行变长的时间先后可作为判断依据 产生场景: 行迁移 Oracle会将整行的数据迁移到一个新的数据块上,而将该行原先的空间只放一个指针,指向该行的新的位置,并且该行原先空间的剩余空间不再被数据库使用,这些剩余的空间我们将其称之为空洞,这就是产生表碎片的主要原因,表碎片基本上也是不可避免的,但是我们可以将其降到一个我们可以接受的程度.注意,

数据库行迁移和行连接详解

当往数据库中插入(INSERT)数据的时候,块中的自由空间会减少:当对块中已经存在的行进行修改(UPDATE)的时候(使记录长度增加),块中的自由空间也会减少. DELETE语句和UPDATE语句会使块中的自由空间增加.当使用DELETE语句删除块中的记录或者使用UPDATE语句把列的值更改成一个更小值的时候,Oracle会释放出一部分自由空间.释放出的自由空间并不一定是连续的.通常情况下,Oracle不会对块中不连续的自由空间进行合并.因为合并数据块中不连续的自由空间会影响数据库的性能.只有当

treeview怎么将选中的行做整行的高亮显示?

问题描述 treeview怎么将选中的行做整行的高亮显示? treeview怎么将选中的行做整行的高亮显示?现有的方式只有文字部分有高亮,不直观. 解决方案 http://bbs.csdn.net/topics/380111240 解决方案二: 对象.headrow.selectstyle 或者直接在属性里设置风格就行了

代码-JSP页面添加一个“查询”按钮,查询条件为“姓名”反正就是字符串就行,我想知道,字符串怎么传值的

问题描述 JSP页面添加一个"查询"按钮,查询条件为"姓名"反正就是字符串就行,我想知道,字符串怎么传值的 JSP页面添加一个"查询"按钮,查询条件为"姓名"反正就是字符串就行,应该怎么写,对应的action和daoa怎么写?求代码~**最主要,我是想知道,字符串怎么传值的,数据类型转换吗?所以我想看看代码**..我用的是ssh架构,IntelliJ IDEA 10.5工具,拜托各位大神啦 解决方案 最简单的就是通过表单传值h

wince-WINCE 5.0使用datagrid在第一行插入新行

问题描述 WINCE 5.0使用datagrid在第一行插入新行 int rowNum = this.dataGrid.CurrentRowIndex + 1; DataTable dt = (DataTable)this.dataGrid.DataSource; DataRow dr = dt.NewRow(); dr[0] = rowNum; dr[1] = ""; dr[2] = ""; dt.Rows.InsertAt(dr, rowNum - 1); fo

mysql:去除重复行,重复行相加,并修改表。

问题描述 mysql:去除重复行,重复行相加,并修改表. | 冷水江 | 0.076923 | | 一 | 0.076923 | | 煤矿 | 0.076923 | | 发生 | 0.076923 | | 瓦斯 | 0.076923 | | 爆炸 | 0.076923 | | 事故 | 0.076923 | | 南京 | 0.076923 | | 一 | 0.076923 | 以上是原始表: 目标表: | 冷水江 | 0.076923 | | 一 | 0.153865 | | 煤矿 | 0.07

图像处理-用C语言将bmp 8位灰度图的灰度值缩小16倍,调色板中数值由255行变成16行调

问题描述 用C语言将bmp 8位灰度图的灰度值缩小16倍,调色板中数值由255行变成16行调 用C语言将bmp 8位灰度图的灰度值缩小16倍,由0-255变成0-16,调色板中数值由255行变成16行,同时调色板rgbBlue rgbRed rgbGreen数值范围由0-255变成0-1.我用c语言实现后,为什么图片不再是灰度图,有了其他颜色??? ```#pragma once #ifndef BMP_H_INCLUDED #define BMP_H_INCLUDED #include #in