Sed 将一行私钥转换为多行私钥(原始)

Sed 将一行私钥转换为多行私钥(原始),sed,Sed,我必须将RSA私钥转换为一行以存储在密码管理器(Passwordstate)中。我使用tr-d'\n'

我必须将RSA私钥转换为一行以存储在密码管理器(Passwordstate)中。我使用
tr-d'\n'
转换为单行,使用
cat-id\u rsa.line | sed-e“s/----BEGIN rsa PRIVATE KEY------/&\n/'-e“s/\s\{64\}/&\n/g”
转换回原始的多行

转换回多行在Ubuntu上有效,但在Mac上无效。为什么这在Macbook上不起作用请尝试:

LF=$'\\\x0A'
cat id_rsa.line | sed -e "s/-----BEGIN RSA PRIVATE KEY-----/&${LF}/" -e "s/-----END RSA PRIVATE KEY-----/${LF}&${LF}/" | sed -e "s/[^[:blank:]]\{64\}/&${LF}/g"

非GNU
sed
不会将替换中的“\n”解释为换行符。 作为一种解决方法,您可以将变量分配给换行符并将其嵌入替换项中。

请注意,为了可读性,我保留了UUC:P.

很好,您已经向我们展示了示例命令,您能否在您的帖子中也展示输入和预期输出的示例(测试偏离路线),然后让我们知道?
LF=$'\\\x0A'
cat id_rsa.line | sed -e "s/-----BEGIN RSA PRIVATE KEY-----/&${LF}/" -e "s/-----END RSA PRIVATE KEY-----/${LF}&${LF}/" | fold -w 64