Я пытаюсь вставить несколько строк перед определенной строкой в XML-файле. Хотя он работает, но форматирование не сохраняется. Ведущие пробелы игнорируются. Я знаю, что мы должны использовать IFS =, и я также перекрестно проверил его в следующей ссылке, кроме многих других, но безрезультатно. :(Предотвращение игнорирования ведущих пробелов с использованием IFS =
Может кто-нибудь, пожалуйста, указать на ошибку я совершаю здесь
Preserving leading white space while reading>>writing a file line by line in bash
while read line
do
pattern=keepDependencies
input_file=/home/john/data_file
file_to_change="${backup_dir}/"$line"/config.xml"
while IFS= read -r insert_text
do
sed -i "/$pattern/i $insert_text" $file_to_change
done < "$input_file"
done < days_to_keep_absent
Файл данных:
[john ~]$ cat data_file
<logRotator>
<daysToKeep>-1</daysToKeep>
<numToKeep>5</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
config.xml:
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>I'll clean all the temporary permissions</description>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.security.AuthorizationMatrixProperty>
...
...
Выход:
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>I'll clean all the temporary permissions</description>
<logRotator>
<daysToKeep>-1</daysToKeep>
<numToKeep>5</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.security.AuthorizationMatrixProperty>
...
...
Не могли бы вы опубликовать config.xml и фактический выход? – l0b0
Добавлен файл config.xml и фактический результат. – Technext