Я пытаюсь заменить строку в следующем файле с другой строкой, которая оказывает особый характер, как (= ", -).Используя скрипт для замены строки в файле с другой строкой, имеющих особый характер
Это служебный файл, мне нужно настроить и добавить снова
#!/bin/bash
. /etc/init.d/functions
PIDFILE=/var/run/Naming_Service.pid
PORT=
OPTIONS="-p ${PIDFILE}"
RETVAL=0
prog="Naming_Service"
start() {
echo -n $"Starting $prog: "
if [ $UID -ne 0 ]; then
RETVAL=1
failure
else
setsid /usr/local/bin/Naming_Service ${OPTIONS} &
RETVAL=$?
fi
echo
return $RETVAL
}
Naming Service для этого файла рестарта в этом файле я хочу заменить первое вхождение
OPTIONS = «- р $ {PIDFile}»
заменить
OPTIONS_1234 = "- р $ {PIDFILE_1234} -ORBEndpoint МИОП: //10.12.23.34: 1234"
OPTIONS_1235 = "- р $ {PIDFILE_1235} -ORBEndpoint МИОП: //10.12.23.34: 1235"
OPTIONS_1236 = "- р $ {PIDFILE_1236} -ORBEndpoint МИОП: //10.12.23.34: 1236"
Я написал на e shell script с командой sed, у меня есть проблемы со специальными символами. Пожалуйста, вы можете дать разрешение для этого
PORT_NS=13021
PIDFILE=/home/vagrant/Naming_Service_${PORT_NS}.pid
PIDFILE_13016=/home/vagrant/Naming_Service_${PORT_NS}.pid
ORIGINAL="OPTIONS="-p ${PIDFILE}""
REPLACE="OPTIONS_13016="-p ${PIDFILE_13016} -ORBEndpoint iiop://172.31.153.56:13016""
sed -i "0,/$ORIGINAL/s//$REPLACE/" "tao"
Покажите нам свой файл сценария _shell с командой sed_. –
Я сделал это основным способом, как я написал следующее cmd в файле sed -i '0,/$ ORIGINAL/$ REPLACE' filename –
«Проблемы со специальными символами»? Хмм, я бы хотел, чтобы вы написали, какие специальные символы вызывают у вас проблемы, тогда, может быть, мы/мы могли бы помочь. Но я не могу тратить время на угадывание. (Пожалуйста, обновите свой Q тем, что НЕ работает, включая (очень) небольшую выборку «специальных символов» И ваш необходимый результат после их обработки. OK? ;-)). Удачи. – shellter