如何解码 linux 中的 base64 编码行?
How do I decode base64 encoded lines in linux?
我正在尝试读取文件并仅提取 base64 编码部分。我这样做是通过使用 sed 来查找模式的 'base64' 和 '--' 之间的线。
我可以使用
sed -e '1,/base64/d' -e '/--/,$d' file.txt | sed '/^\s*$/d'
但是当我尝试使用 base64 解码它时,如下所示,
sed -e '1,/base64/d' -e '/--/,$d' file.txt | sed '/^\s*$/d' | base64 -d
我收到一条错误消息:-
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft Exchangbase64: invalid input
请让我知道我做错了什么,是否有其他更好的方法来实现最终结果。任何帮助表示赞赏。
我知道了。文件中的行如下
QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6UkVRVUVTVA0KUFJPRElEOk1pY3Jvc29mdCBFeGNoYW5nZSBTZ
XJ2ZXIgMjAxMA0KVkVSU0lPTjoyLjANCkJFR0lOOlZUSU1FWk9ORQ0KVFpJRDpBVVMgRWFzdGVybiBTdG
末尾有一个结束行字符,所以我所要做的就是将其删除。因此,现在我的代码如下所示并且有效:-
sed -e '1,/base64/d' -e '/--/,$d' _12829640_21.12.-.5p.meeting.room_1485234639532_1.mail | sed '/^\s$/d' | tr -d "\n\r" | base64 -d
我正在尝试读取文件并仅提取 base64 编码部分。我这样做是通过使用 sed 来查找模式的 'base64' 和 '--' 之间的线。
我可以使用
sed -e '1,/base64/d' -e '/--/,$d' file.txt | sed '/^\s*$/d'
但是当我尝试使用 base64 解码它时,如下所示,
sed -e '1,/base64/d' -e '/--/,$d' file.txt | sed '/^\s*$/d' | base64 -d
我收到一条错误消息:-
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft Exchangbase64: invalid input
请让我知道我做错了什么,是否有其他更好的方法来实现最终结果。任何帮助表示赞赏。
我知道了。文件中的行如下
QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6UkVRVUVTVA0KUFJPRElEOk1pY3Jvc29mdCBFeGNoYW5nZSBTZ
XJ2ZXIgMjAxMA0KVkVSU0lPTjoyLjANCkJFR0lOOlZUSU1FWk9ORQ0KVFpJRDpBVVMgRWFzdGVybiBTdG
末尾有一个结束行字符,所以我所要做的就是将其删除。因此,现在我的代码如下所示并且有效:-
sed -e '1,/base64/d' -e '/--/,$d' _12829640_21.12.-.5p.meeting.room_1485234639532_1.mail | sed '/^\s$/d' | tr -d "\n\r" | base64 -d