如何在linux中解码base64编码行?

如何在linux中解码base64编码行?,linux,unix,base64,decode,Linux,Unix,Base64,Decode,我试图读取一个文件&仅提取base64编码部分。我是通过使用sed来查找模式的“base64”和“---”之间的线来实现的 我可以使用 sed-e'1,/base64/d'-e'/-/,$d'file.txt | sed'/^\s*$/d' 但当我尝试使用base64解码它时,如下所示, 我收到一条错误消息,如下所示:- BEGIN:VCALENDAR 方法:请求 PRODID:Microsoft ExchangeBase64:输入无效 请让我知道我做错了什么,是否有其他更好的方法来实现

我试图读取一个文件&仅提取base64编码部分。我是通过使用sed来查找模式的“base64”和“---”之间的线来实现的

我可以使用

sed-e'1,/base64/d'-e'/-/,$d'file.txt | sed'/^\s*$/d'
但当我尝试使用base64解码它时,如下所示,

我收到一条错误消息,如下所示:-

BEGIN:VCALENDAR
方法:请求
PRODID:Microsoft ExchangeBase64:输入无效

请让我知道我做错了什么,是否有其他更好的方法来实现最终结果。感谢您的帮助

我明白了。文件中的行如下所示

QKVHSU46VKNBTEVOREFSDQPNRRIT0Q6UKVRVUVVA0KUFJPRELEOK1PY3JVC29MDCBFEGNOY5NZSBTZ
xj2zxigmjaxma0kvkvsu0lptjoyljanckjfr0loolzusu1fwk9orq0kvfpjrdpbvvmgrwfzdgvybitdg
结尾有一个结束行字符,所以我所要做的就是删除它。因此,现在我的代码如下所示&它可以工作:-

sed-e'1,/base64/d'/-/,$d'_12829640_21.12.-.5p.meeting.room_1485234639532_1.mail | sed'/^\s$/d'| tr-d“\n\r”| base64-d

好吧……我不明白为什么这个问题被否决了。其实我并不在乎。但如果有人能至少提出一些有用的建议,我们将不胜感激。还有,我为糟糕的英语感到抱歉,因为这是一次没有解释原因的否决票。。。
 sed -e '1,/base64/d' -e '/--/,$d' file.txt | sed '/^\s*$/d' | base64 -d