我必须将RSA私钥转换为单行以存储在密码管理器(Passwordstate)中。我使用=SUMIF(<range you want to sum>, "<>" & <x>, <range you want to sum>)+ <x> * COUNTIF(<range you want to sum>, <x>)
转换为单行,并使用tr -d '\n' < id_rsa
转换回原始多行。
在Ubuntu上可以转换回多行,但在Mac上则不能。为什么这在Macbook上不起作用
答案 0 :(得分:1)
请尝试:
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"
或
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
非GNU sed
不会将替换中的“ \ n”解释为换行符。
解决方法是,您可以将变量分配给换行符并将其嵌入替换行中。
请注意,我保留了UUC的可读性: