【发布时间】:2016-11-15 23:09:03
【问题描述】:
这是我要替换以下字符串的要求
OPTIONS="-p ${PIDFILE}"
与
OPTIONS_1234="-p ${PIDFILE_1234} -ORBEndpoint iiop://10.12.23.34:1234"
OPTIONS_1235="-p ${PIDFILE_1235} -ORBEndpoint iiop://10.12.23.34:1235"
OPTIONS_1236="-p ${PIDFILE_1236} -ORBEndpoint iiop://10.12.23.34:1236"
为此,我正在遵循脚本来解决
sed '0,/\PIDFILE=\/var\/run\/Naming_Service.pid/s//\PIDFILE_13021=\/var\/run\/Naming_Service_13021.pid\n\PIDFILE_13022=\/var\/run\/Naming_Service_13022.pid\n\PIDFILE_13023=\/var\/run\/Naming_Service_13023.pid\n /' tao > tao_pid
sed '0,/\OPTIONS="-p ${PIDFILE}"/ s//\OPTIONS_13021="-p ${PIDFILE_13021} -ORBEndpoint iiop:\/\/10.12.23.34:13021"\n\OPTIONS_13022="-p ${PIDFILE_13022} -ORBEndpoint iiop:\/\/10.12.23.34:13022"\n\OPTIONS_13023="-p ${PIDFILE_13023} -ORBEndpoint iiop:\/\/10.12.23.34:13023"\n /' script > new_script
但如果最终用户想再添加一个
OPTIONS_1236="-p ${PIDFILE_1236} -ORBEndpoint iiop://10.12.23.34:1237"
很难维护特殊字符和所有。 任何人都可以提出最佳优化方法,这对最终用户来说应该很容易
【问题讨论】:
-
你能分享一下输入文件的内容和预期的输出吗?