首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

几个正则的写法解决方案

2012-02-12 
几个正则的写法没用过正则,最近在实现一个需求时需要使用到rpm的打包文件 spec内容:%installmkdir -p .%{_

几个正则的写法

没用过正则,最近在实现一个需求时需要使用到
rpm的打包文件 spec
内容:
%install

mkdir -p .%{_prefix}/algo

cp -r $OLDPWD/../*.sh .%{_prefix}/algo

%clean
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/%{name}-%{version}

%files
%defattr(0755,admin,admin)
%config(noreplace) %{_prefix}/algo/.user.ini

%changelog


clean可能没有,changelog也可能是没有配置的
需要获取
目前将文件所有内容读入为一个字符串
1.%install之后到下一个配置项之间的所有内容
2.%config之后到下一个配置项的所有内容【可能后面无配置项,也可能有。且如上可能出现在同一行,也可能有多行的情况】

遇到困难点在于,配置项可能是缺失的,也可能存在,配置内容中也存在%

这两个正则怎么处理,有木有什么更好的处理方式?求教


[解决办法]
配置项可以用^%.*\>匹配
^行首
$行尾
\<词首
\>词尾

1. ^%install\>\(.*\)^%.*\>


[解决办法]

Assembly code
sed '/^%install/,/^%/!d' urfile | sed '$d' 

热点排行
Bad Request.