sed 多行替換,多行模式處理字串;一次替換
阿新 • • 發佈:2019-02-04
作者:凨
例:
需求: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 提供思路