-1

I have pkcs10 request in a file, which i need to convert the new line character in the file to " "

Example:

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIC2zCCAcMCAQAwcjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB1JlZCBIYXQxDjAM
BgNVBAsTBVFFSURNMQswCQYDVQQLEwJRRTENMAsGA1UECxMEUkhTUzEVMBMGCgmS
JomT8ixkAQETBXRlc3Q2MQ4wDAYDVQQDEwV0ZXN0NjCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBALQULllI/JMudcBHeykXe7wRmAZlcxxQK7pvw1hNqt/I
Lz4XdZJ9pZVHCSmeR3ubsriRbbqhM2ZjiH+Rb2mLxCgrVlqvBEZ5qj6yQhhiWaFL
wNIGFhGHqFt/HeDxDvuLumZVH34VDGZoIoPLVMtVspHG5kxKHEsivWMvkkUnrbJF
X8Bdsfhzg/7pObkZtaUrg9tjXRCU+hrPnodfUgZ8IxzWcaaKFs7c4f6QjFOsDCQz
8TxuiF5gDbWbXlpVRnEtofpMZrtnxYe92Sepi83kduZ9aWyZMFNND8HWl9zpjwy3
uFUrs+R+S8zRM3tww92CuCgsaA+fjftlFKnIXaAl7dkCAwEAAaAkMCIGCCsGAQUF
BwcXMRYEFOZpyV8u/6SQrnPmRMw/nh2Wd5xQMA0GCSqGSIb3DQEBBAUAA4IBAQCm
djxD+5NJqFIKKWaVEq3QNDwqNiD/j+bi7EyDPquwBfgpp1VZmOty99muStG2GfvE
1tg7ZdcebDHZ5umIw//3StxTODVkUYIkYzWERdt3GZe3TJqdGDeWMkOtCQR0fMjs
X1TN0m1BEKS1tKoMJWJagCLvsqr2C+LMw4gB/r/Tq+KUvacM+yv7x0ROgRKa6aiW
/ja2vox3uWUMUMKYbz8km5UrqnaSBVDvDIt8yt9X5k+2sgl37MsWzyKBnpwH7mKX
5Z8vj9C8F3Iq0L6qWQdqCY74nm/jyI4roUQpDoS+xeQxKh6mn8IbX2HisGwSoJyM
w8jfHjDvXxRi0RyBlBNR

-----END NEW CERTIFICATE REQUEST-----

I would like to change the above to below format:

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIC2zCCAcMCAQAwcjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB1JlZCBIYXQxDjAM
BgNVBAsTBVFFSURNMQswCQYDVQQLEwJRRTENMAsGA1UECxMEUkhTUzEVMBMGCgmS
JomT8ixkAQETBXRlc3Q2MQ4wDAYDVQQDEwV0ZXN0NjCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBALu2ootYtjVwwmTSDh2mQxbgWGOgMLEHlvzbG6Xzdqc0
c8mQkm8jZvB4JE5TiXmNj4YWnnJNehKCqog3xUwpNo6P1uW5l0p1D2Dk9n/pCuvW
zQ237mWBB6tYoHYiqyFgcip7ptbytQjykhx+1UbqgnACVW2FHaVLcGSyfMRoaOZS
LjxZUui4aFDe9pS9nv0Dk+34/xJS2y/UjKTFMziieQzmBT63Yk+1NMmlGIrVl+en
hvh6bctMdpeaTkDy327+y/BeQzR3qoUK4RcOB6vq1u40PkKwwy/lGF2mCNwIQnBY
ExZsr6nuC1kMgRG7776scMztO4rtoUtkazjxIJc5K3MCAwEAAaAkMCIGCCsGAQUF
BwcXMRYEFOZpyV8u/6SQrnPmRMw/nh2Wd5xQMA0GCSqGSIb3DQEBBAUAA4IBAQA7
L0p4N4/94u4d4RgYoPuBVH09J12CXh/NtKUsiiTRC41IaVggSoe3L3bR20DhELtZ
IIbtrijktg9eNkUHfIQmZu9GjIs9GtKQMQx7YbOC9xHq7kWffxbUyTgQ6pFQyoGE
toGME2wP6MPhEkUNiIYNam8Tt+qUiz6t5j3MGB8HwoF+qNpEfo8tNtfgonpOnYns
i2SUbc1Y1Nj15IZfkMXRdaRj+a0HxLR7kDVayRYxO5H4cHuCG9N0vLkNtkdwPboI
TyoNsrSqgZVP2U7B82qfo8YcSTG2D/B8KHnSbMIYCl1e3u//b6zcC1NODpffOYCF
xVxiFitfbtweWcWipxWS

-----END NEW CERTIFICATE REQUEST----

Any tools like xed or xml tools on Linux that could achieve the above.

Niranjan M.R
  • 343
  • 1
  • 6
  • 23
  • *"I would like to change the above to below format"* - You most certainly do not want that. Would you care to explain why you think that's necessary? – Tomalak Jan 27 '14 at 09:55
  • I have to generate a pkcs10 request and provide the request in an xml format because the pki server that i am using accpets the request be put in an xml file – Niranjan M.R Jan 27 '14 at 10:03
  • Any specific reason why you feel that changing could have issue ? – Niranjan M.R Jan 27 '14 at 10:03
  • 2
    Yes. First you seem to be using text tools to generate XML. This is wrong, you really should use an XML API. They are abundant in any programming environment, there is no excuse for using `sed`. Second, XML is perfectly capable of retaining line breaks. You absolutely don't need to do anything special, adding ` ` to your text is plain wrong. Just use - for example - Python with `etree` to build the XML you need, store the key string in it. – Tomalak Jan 27 '14 at 10:09

2 Answers2

1

You could use sed:

sed ':a;N;$!ba;s/\n/\
&/g' filename

For saving the changes to the input file in-place, add the -i option.

For your input, this would produce:

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIC2zCCAcMCAQAwcjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB1JlZCBIYXQxDjAM
BgNVBAsTBVFFSURNMQswCQYDVQQLEwJRRTENMAsGA1UECxMEUkhTUzEVMBMGCgmS
JomT8ixkAQETBXRlc3Q2MQ4wDAYDVQQDEwV0ZXN0NjCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBALQULllI/JMudcBHeykXe7wRmAZlcxxQK7pvw1hNqt/I
Lz4XdZJ9pZVHCSmeR3ubsriRbbqhM2ZjiH+Rb2mLxCgrVlqvBEZ5qj6yQhhiWaFL
wNIGFhGHqFt/HeDxDvuLumZVH34VDGZoIoPLVMtVspHG5kxKHEsivWMvkkUnrbJF
X8Bdsfhzg/7pObkZtaUrg9tjXRCU+hrPnodfUgZ8IxzWcaaKFs7c4f6QjFOsDCQz
8TxuiF5gDbWbXlpVRnEtofpMZrtnxYe92Sepi83kduZ9aWyZMFNND8HWl9zpjwy3
uFUrs+R+S8zRM3tww92CuCgsaA+fjftlFKnIXaAl7dkCAwEAAaAkMCIGCCsGAQUF
BwcXMRYEFOZpyV8u/6SQrnPmRMw/nh2Wd5xQMA0GCSqGSIb3DQEBBAUAA4IBAQCm
djxD+5NJqFIKKWaVEq3QNDwqNiD/j+bi7EyDPquwBfgpp1VZmOty99muStG2GfvE
1tg7ZdcebDHZ5umIw//3StxTODVkUYIkYzWERdt3GZe3TJqdGDeWMkOtCQR0fMjs
X1TN0m1BEKS1tKoMJWJagCLvsqr2C+LMw4gB/r/Tq+KUvacM+yv7x0ROgRKa6aiW
/ja2vox3uWUMUMKYbz8km5UrqnaSBVDvDIt8yt9X5k+2sgl37MsWzyKBnpwH7mKX
5Z8vj9C8F3Iq0L6qWQdqCY74nm/jyI4roUQpDoS+xeQxKh6mn8IbX2HisGwSoJyM
w8jfHjDvXxRi0RyBlBNR

-----END NEW CERTIFICATE REQUEST-----
devnull
  • 118,548
  • 33
  • 236
  • 227
1
sed '$ !s/$/\
/' YourFile

or

sed '$ !s/[[:blank:]]*$/\
/' YourFile

is not enough ?

NeronLeVelu
  • 9,908
  • 1
  • 23
  • 43