замена пробела символами новой строки для использования бродячих ящиков

Я пытаюсь настроить бродячий ящик с помощью сценария оболочки, в котором я храню файлы ключа и сертификата . Нормальный формат любого файла сертификата или ключа показан ниже

-----BEGIN CERTIFICATE-----
MIIDzzCCAregAwIBAgIJAP384f0KeRndMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV
....
0+ZQ+Yxjzs69VHdPJbzu3cxjNQ==
-----END CERTIFICATE-----

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6qoE3hNniDqD7
....
wr5wa+bGBgNzIBLS5j9F9Kul
-----END PRIVATE KEY-----

Однако, когда я проверяю бродячий ящик, он выглядит следующим образом:

-----BEGIN CERTIFICATE----- MIIDzzCCAregAwIB ..... 69VHdPJbzu3cxjNQ== -----END CERTIFICATE-----

-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhki  .... OB7jnwaqq wr5wa+bGBgNzIBLS5j9F9Kul -----END PRIVATE KEY-----

(в основном, все в одной строке)

Из-за чего Apache2 имеет ошибки в журнале. Теперь я хочу преобразовать эти ключи в их правильный формат. Я попробовал выполнить ниже

cat server.crt | tr " " "\n" 
cat server.crt | tr "\ /" " " 

, но это не помогло.

    -----BEGIN
CERTIFICATE-----
MIIDzzCCAregAwIBAgIJAP384f0KeRndMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV

0+ZQ+Yxjzs69VHdPJbzu3cxjNQ==
-----END
CERTIFICATE-----

Это то, что я получаю в результате выполнения команды sed -i 's / / \ n / g' * .crt . после END он переходит на следующую строку из-за символа пробела. Задача здесь - сохранить первую и последнюю строку как есть и отформатировать содержимое между ними.

0
задан 7 September 2017 в 19:43
2 ответа

Вы хотите sed -i 's / / \ n / g' * .crt (при условии, что у вас есть GNU sed)

Но устранили ли вы основную причину ? Как файлы были повреждены?

0
ответ дан 5 December 2019 в 07:27

Вы должны использовать tr '\' '\ n'

Пример:

[root@localhost ~]# uname -a
Linux localhost 2.6.32-504.16.2.el6.x86_64 #1 SMP Tue Mar 10 17:01:00 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# uname -a | tr '\ ' '\n'
Linux
localhost
2.6.32-504.16.2.el6.x86_64
#1
SMP
Tue
Mar
10
17:01:00
EDT
2015
x86_64
x86_64
x86_64
GNU/Linux
0
ответ дан 5 December 2019 в 07:27

Теги

Похожие вопросы