gpt4 book ai didi

bash - Base64编码换行

转载 作者:行者123 更新时间:2023-11-29 08:52:18 25 4
gpt4 key购买 nike

我正在尝试在 shell 脚本中将一些十六进制值编码为 base64。

nmurshed@ugster05:~$ echo -n  "1906 1d8b fb01 3e78 5c21 85db 58a7 0bf9 a6bf 1e42 cb59 95cd 99be 66f7 8758 cf46 315f 1607 66f7 6793 e5b3 61f9 fa03 952d  9101 b129 7180 6f1d ca93 3494 55e0 0e2e" | xxd -r -p | base64
GQYdi/sBPnhcIYXbWKcL+aa/HkLLWZXNmb5m94dYz0YxXxYHZvdnk+WzYfn6A5UtkQGxKXGAbx3K
kzSUVeAOLg==

我在 76 个字符后自动换行,有没有办法避免这种情况?

我在网上发现,使用“-n”来忽略换行...任何人都可以提出建议吗?

最佳答案

echo -n 在这里实际上并不重要:它控制 echo 的输出是否有换行符,但 echo 是否发出换行符与 xxdbase64 是否发出换行符无关。

因为 xxd 忽略输入中的任何尾随换行符,echoecho -n 在这里的行为完全相同; echo 是否有换行符没有区别,因为该换行符(如果存在)将在读取其输入时被 xxd 消耗。相反,您最终关心的是 base64 的输出,这是生成最终结果的原因。


假设您有 GNU 版本的 base64,添加 -w 0 以在其输出中禁用换行。因此:

printf '%s' "1906 1d8b fb01 3e78 5c21 85db 58a7 0bf9 a6bf 1e42 cb59 95cd 99be 66f7 8758 cf46 315f 1607 66f7 6793 e5b3 61f9 fa03 952d  9101 b129 7180 6f1d ca93 3494 55e0 0e2e" \
| xxd -r -p \
| base64 -w 0

关于bash - Base64编码换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38578528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com