Объединить строку со строковыми переменными в сценарии Unix - PullRequest
0 голосов
/ 25 января 2019

Мне нужно сформировать тег комментария, чтобы добавить его в целевой файл XML, который я уже создал.При попытке объединить значения, извлеченные из файла XML вместе с несколькими строками между ними, некоторые значения строк / переменных не заполняются должным образом.

echo "<!--Claims"," state ${STATE}"," ${env}"," ${paid_start}"," ${paid_stop}"," ${incur_start}"," ${incur_stop} -->"

incur_start=`grep "<ProfessionalClaim" test.xml \
| sed -n '1p;$p' \
| awk 'NR==1 {match($0, "claimStartDate=\"([^\"]+)\"", start); print "incur_start " start[1]}'`

incur_stop=`grep "<ProfessionalClaim" test.xml \
| sed -n '1p;$p' \
| awk 'NR==2 {match($0, "claimEndDate=\"([^\"]+)\"", end); print "incur_stop " end[1]}'`

paid_start=`grep "<ProfessionalClaim" test.xml \
| sed -n '1p;$p' \
| awk 'NR==1 {match($0, "claimProcessedDateTime=\"([^\"]+)\"", start); print "paid_start " start[1]}'|cut -c1-19`

paid_stop=`grep "<ProfessionalClaim" test.xml \
| sed -n '1p;$p' \
| awk 'NR==2 {match($0, "claimProcessedDateTime=\"([^\"]+)\"", end); print "paid_stop " end[1]}'|cut -c1-18`

v_state="$(grep "STATE=" /root/temp.prm)"
STATE=`echo $v_state | cut -d "=" -f2`
env="env t"

Ожидаемый результат:

<!-- Claims, state CA, env t, paid_start 20180409, paid_stop 20180430, incur_start 2018-04-02, incur_stop 2018-04-17 -->

Фактический результат:

,env t, paid_start 20180409, paid_stop 20180430, incur_start 2018-04-02, incur_stop 2018-04-17 -->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...