У меня есть требование, где мне нужно добавить новую запись для создания настраиваемой вершины в файле context_file приложения ebs, установленного в Oracle Linux 6. Файл context_file представляет собой файл XML. Нам нужно найти строку, а затем нам нужно добавить новую запись сразу после искомой строки.
- Поиск строки
AU_TOP>
в файле. Вставить строку в новую строку сразу после
AU_TOP>
<TEST_TOP oa_var="s_testtop" oa_type="PROD_TOP" oa_enabled="FALSE">/u01/oracle/oracle/apps/apps_st/appl/test/12.0.0</TEST_TOP>
- Сохраните файл.
Как это можно сделать с помощью сценария оболочки?
text-processing
scripting
xml
user3436389
источник
источник
sed '/AU_TOP>/a /u01/oracle/oracle/apps/apps_st/appl/test/12.0.0'
?Ответы:
Кража идеи Heemayl из комментариев , затем добавление
-i
для редактирования на месте и новых строк для команды 'append' и требуемого перехода на новую строку после этого:источник
echo $name
top \" oa_type = \ "PROD_TOP \" oa_enabled = \ "FALSE \">echo $APPL_TOP
/$name/12.0.0 < / $ {name ^^} _ TOP> ") echo $ top sed -i '/ AU_TOP> / a" $ {top} "' $ CONTEXT_FILE, однако при передаче значения для переменной типа ERP в качестве значения добавляется только $ top в файле XML и не передает значение, хранящееся в $ top.