У меня есть логи с несколькими линиями, как «DEBUG MDM полезная нагрузка:» и на отдельных строках, после того, как это содержание XML, которые могут отличаться в длине, но всегда заканчивается тем же , Как пользователь tr и sed или другой метод объединить все содержимое xml в той же строке, что и «DEBUG MDM полезная нагрузка:»?Как проверить логи значений XML и объединить их на одной линии
2017-01-26T10:54:28.712+0100 - CORE {wff-device-thread-15 : deviceRestExecuteWorkflow.deviceRestExecuteActivity.EventQueueConsumer} device.ios.management|logger [{{Correlation,dhdjwdw-3a44-4b0d-aa52-dwdwdwdwdw}{Uri,PUT /S29112264/ios/mdm2/dwdwdwdw-c7d2-465c-be44-dwdwdwdw}{host,de0-server.name.fqdn}}] - DEBUG MDM payload:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Command</key>
<string>dd2c2a59-2007-4863-9c8c-dgfhgfh666666</string>
<key>command</key>
<dict/>
<key>Status</key>
<string>Approved</string>
<key>UDID</key>
<string>90f0c56287474782748274827487842cc64c2fc4</string>
</dict>
</plist>
Обновление: Следующая команда будет печатать то, что я хочу просто не могу понять, как принять это и изменить файл, чтобы поставить его на одну строку.
sed -n "/\/ios\/mdm2\DEBUG MDM payload/,/<\/plist>/p"
Обновление 2: Очередь еще немного, но в некоторых случаях у меня все еще есть некоторые вкладки. пытаясь найти способ удалить вкладки.
sed -n "/DEBUG MDM payload/,/<\/plist>/p" fake_log.txt | tr -d "\r" | tr -d "\n"
Обновление 3: Хорошо, получилось. Теперь есть способ удалить существующие строки и добавить новую измененную строку на свое место?
sed -n "/DEBUG MDM payload/,/<\/plist>/p" fake_log.txt | tr -d "\r" | tr -d "\n" | tr -d "\t"
Вы пробовали заменить '\ п <' с '<'? –