Инструмент, который вы ищете: sed . Если вы хотите заменить str1 на str2 в file1 и сохранить результат в file2, выполните:
sed s/str1/str2 < file1 > file2
Вам нужно экранировать некоторые специальные символы, потому что sed анализирует str1 как регулярное выражение.
В вашем случае необходимы два шага. Первый шаг превращает ваш replace.txt
в файл сценария sed, который я называю replace.sed
.
sed "s/\s*|\s*/\//g" "replace.txt" | sed "s/\w*\/\w*/s\/&\/g/" > replace.sed
Первый вызов sed преобразует ваши каналы (и окружающие пробелы) в косые черты |
-> /
. Второй вызов окружает ваши строки поиска / замены синтаксисом sed. replace.sed
должно выглядеть как
s/nameofsearch/nameforreplace/
s/nameofsearch1/nameforreplace1/
s/nameofsearch2/nameforreplace2/
Второй шаг - выполнить sed с указанным файлом сценария в вашем XML-файле.
sed -f replace.sed test.xml > replaced.xml