要求以下:android
原文 <server name="92服" port="10092" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> <server name="93服" port="10093" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> <server name="94服" port="10094" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> <server name="95服" port="10095" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> <server name="96服" port="10096" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> 變爲 <server name="92服" port="10092" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地區服"/> <server name="93服" port="10093" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地區服"/> <server name="94服" port="10094" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地區服"/> <server name="95服" port="10095" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地區服"/> <server name="96服" port="10096" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地區服"/> 需求就是將zoneid根據port填上
利用sed後向引用便可,方法以下:spa
[root]$ cat setZone.txt | sed -e 's/\(port="\)\([0-9]+\)\(.*\)\(zoneid="\)/\1\2\3\4\2/g' <server name="92服" port="10092" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> <server name="93服" port="10093" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> <server name="94服" port="10094" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> <server name="95服" port="10095" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/> <server name="96服" port="10096" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地區服"/>