I have cert.enc file as below.it has multiple lines
MIIPZAIBAzCCDx4GCSqGSIb3DQEHAaCCDw8Egg8LMIIPBzCCBZQGCSqGSIb3DQEH
AaCCBYUEggWBMIIFfTCCBXkGCyqGSIb3DQEMCgECoIIE+jCCBPYwKAYKKoZIhvcN
AQwBAzAaBBTQnaS1AE0gnwlbnfZsLfdzGxXnTAICBAAEggTIhChZpcY/STZNt1kl
1WzBoq5OI+QaFBJFA9nimyMaB3cywcL8ohKbuhHpUzc7jWvfw4iA/V9JDVkW3FHs
CQRQDCYWwzcbm43vkL61+zba133ZaGV4AVMj/RYYwA2lgFAG2/+gKi7ByrdaYiuH
dWSI/Aid+ZNsnO4rx8/BkHAnmKZ+B71bD+Rod4pVGOmW/vwI6lHnYfospcptc3aP
eKa6S1UoK1QHDOplkp1HFZhkiBXxnhIKpbpvvzH0ZoFSiUPlc9ycFZcS3VC1kxM1
AHmqlqecSP+p+FiksnkppCS49quSyoU2IPatkVJTDKpnehLIXj1UIwKCkIcTR6np
1JkQeJXzvIH1yo7IVyUuTVUb2kx3U/OXveeyoRFaODQlt4WNY2Z7cUR+Ub+A/ECv
0hKEIU/HD+g+S93di4n3q5o0w0mHNPXITkHHNgpDW+lS3kHm3IV+8gchP99r//Xx
Here is my XML file.cat test.xml
<?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>PayloadContent</key>
<array>
<dict>
<key>Password</key>
<string>P@ssw0rd</string>
<key>PayloadCertificateFileName</key>
<string>tin.user_11:22:33:44:55:66.p12</string>
<key>PayloadContent</key>
<data>
**PRIVATEKEY**
</data>
<key>PayloadDescription</key>
<string>Adds a PKCS#12-formatted certificate</string>
<key>PayloadDisplayName</key>
<string>tin.user_11:22:33:44:55:66.p12</string>
<key>PayloadIdentifier</key>
<string>com.apple.security.pkcsAF0F-4BFB-A054-FB31E99420A2</string>
<key>PayloadType</key>
<string>com.apple.security.pkcs12</string>
<key>PayloadUUID</key>
<string>AF0F-4BFB-A054-FB31E99420A2</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
My question is how to replace the output from cat cert.enc
in PRIVATEKEY using the same position [indent] between <data>
and </data>
The below command works
sed '/PRIVATEKEY/r cert.enc' test.xml |sed '/PRIVATEKEY/d'
but the key was placed in the left margin. Not the same like <data>
position.