2017-02-01 4 views
0

파일을 읽으려고합니다. &은 base64로 인코딩 된 부분 만 추출합니다. 나는 sed를 사용하여 패턴의 'base64'& '-'사이의 줄을 찾습니다.Linux에서 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 

날 내가 잘못하고 거기 대체, 최종 결과를 달성하기 위해 더 나은 방법입니다 무엇을 알려 주시기 바랍니다. 어떤 도움을 주셔서 감사합니다.

+0

알았어요,이 질문을 downvoted지고 왜 그것을 얻을니까. 실제로 나는 상관하지 않는다. 그러나 누군가가 도움이 될만한 팁을 들려 주면 정말 감사 할 것입니다. 또한, 나쁜 영어로 죄송합니다 – N29

+0

Upvoted, 왜 설명하지 않고 downvote 있었기 때문에 ... –

답변

0

문제가 있습니다. 끝에서 끝 라인 문자가 발생했습니다

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 
관련 문제