当前位置: 技术问答>linux和unix
几个正则的写法
来源: 互联网 发布时间:2017-01-24
本文导语: 没用过正则,最近在实现一个需求时需要使用到 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) %confi...
没用过正则,最近在实现一个需求时需要使用到
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>(.*)^%.*>
^行首
$行尾
词尾
1. ^%install>(.*)^%.*>
|
sed '/^%install/,/^%/!d' urfile | sed '$d'