Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 将返回字符替换为&#除息的_Xml_Bash_Sed_Fedora_Pki - Fatal编程技术网

Xml 将返回字符替换为&#除息的

Xml 将返回字符替换为&#除息的,xml,bash,sed,fedora,pki,Xml,Bash,Sed,Fedora,Pki,文件中有pkcs10请求,需要将文件中的新行字符转换为“ " 例如: -----BEGIN NEW CERTIFICATE REQUEST----- MIIC2zCCAcMCAQAwcjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB1JlZCBIYXQxDjAM BgNVBAsTBVFFSURNMQswCQYDVQQLEwJRRTENMAsGA1UECxMEUkhTUzEVMBMGCgmS JomT8ixkAQETBXRlc3Q2MQ4wDAYDVQQDEwV0ZXN0NjCCA

文件中有pkcs10请求,需要将文件中的新行字符转换为“ "

例如:

-----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
-----结束新证书请求-----

我想将上述格式更改为以下格式:

-----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----

Linux上可以实现上述功能的任何工具,如xed或xml工具

您可以使用
sed

sed ':a;N;$!ba;s/\n/\
&/g' filename
要将对输入文件的更改保存到位,请添加
-i
选项

对于您的输入,这将产生:

-----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-----


还不够吗?

“我想把上面的格式改成下面的格式”-你肯定不想这样。您愿意解释一下为什么您认为这是必要的吗?我必须生成一个pkcs10请求,并以xml格式提供请求,因为我使用的pki服务器会将请求放入xml文件中。您认为更改可能有问题的任何具体原因?是的。首先,您似乎正在使用文本工具生成XML。这是错误的,您真的应该使用XMLAPI。它们在任何编程环境中都非常丰富,没有理由使用
sed
。其次,XML完全能够保留换行符。您完全不需要做任何特殊的事情,添加

到您的文本是完全错误的。只需使用Python with
etree
来构建所需的XML,将键字符串存储在其中。
sed '$ !s/$/\
/' YourFile
sed '$ !s/[[:blank:]]*$/\
/' YourFile