파일에서 첫 번째 base64 코드를 추출하는 방법은 무엇입니까?

파일에서 첫 번째 base64 코드를 추출하는 방법은 무엇입니까?

Linux에는 각각 1~2개의 base64 코드 블록이 포함된 텍스트 파일이 있습니다. 아래는 파일의 일부와 1개의 base64 청크입니다.

콘텐츠 전송 인코딩: base64

RGVhciBMdWlzLA0KICANCkdvb2QgbW9uaW5nIQ0KT3VyIEJhbmsgYWNjb3VudCBpcyB1bmRlcmdvaW5nIGF1ZGl0IGZvciB0aGUgZmlzY2FsIHllYXIgYXMgcmVxdWlyZWQgYnkgdGhlIGNoaW5hIGZ v cm VpZ24gY3VycmVuY3kgY29udHJvbCBwb2xpY3kgYW5kIHRoZSBhY2NvdW50IHdpbGwgbm90IGJlIGF2YWlsYWJsZSB1bnRpbCB0aGUgQ2hpbmVzZSB0YXggYnVyZWF1cyBhcmUgc 2F0aXN ma WVkIHRoYXQgYWxsIGFwcGxpY2FibGUgdGF4ZXMgaGF2ZSBiZWVuIHBhaWQgdXAuIFBsZWF​zZSBob2xkIHBheW1lbnQgc28gaSBjYW4gZnVybmlzaCB5b3Ugd2l0aCBvdXIgcmV2aXNlZCBiY W5 원시5 niGluZm9ybWF0aW9uLiAgDQonCiagDQpCZXN0IHJlZ2FyZHMNCiANCKRhdmlk

------=_Part_143209_644876817.1451544132767--

파일에서 첫 번째 base64를 추출하려면 어떤 명령을 사용할 수 있나요?

내 목표는 출력을 읽을 수 있도록 디코딩하는 것입니다.


파일 디코딩 명령 예:https://superuser.com/a/663397

구문 디코딩 명령 예:https://askubuntu.com/a/178546

코드의 Base64 부분만 추출하는 방법을 모르거나, 두 개의 Base64가 포함된 경우 첫 번째 부분만 추출하는 방법을 모르겠습니다. sedor 를 사용할 수 있지만 awk다음을 찾을 것이라고 가정하는 방법을 모르겠습니다.

  1. 64비트 기반
  2. ------=_부분_

빈 줄을 다듬으면 Base64가 나오지만 Base64 부분이 2개 있으면 어떻게 될까요? 나는 첫 번째를 원한다.

답변1

귀하의 질문을 모두 완전히 이해했는지는 모르겠지만 일부 내용은 파악하셨고 명령에 입력하려는 텍스트를 다듬는 방법이 필요한 것 같습니다 base64.

저는 이 부분에 대해 이렇게 답하고 싶습니다.

나는 a) base64 및 b) ------=를 찾을 것이라고 가정합니다.부분

빈 줄을 다듬으세요. Base64가 있는데 Base64가 2개 있으면 첫 번째를 원합니다.

다음을 사용하여 첫 번째 인스턴스부터 base64첫 번째 인스턴스 이후까지 모든 줄을 인쇄할 수 있습니다.=_Part_sed

sed -n '/base64/,${p;/=_Part_/q;}' inputfile

설명하다:

-n각 줄의 인쇄를 비활성화하는 기본 동작입니다.

/base64/,$base64첫 번째 인스턴스부터 파일 끝까지 다음 코드 블록을 적용합니다 . ( $이 문맥에서는 마지막 줄을 의미합니다.)

p라인을 인쇄한다는 의미입니다.

/=_Part_/q줄 에 =_Part_.

명령 q이 종료 sed되어 모든 후속 행이 전혀 처리되지 않습니다.

이 모든 것의 결과는 매우비슷한더 간단한 버전에서는 에서 - 까지 sed -n '/base64/,/=_Part_/p' inputfile인쇄 하지만 이 간단한 버전은 첫 번째 섹션 이후에 중지하는 대신 여러 섹션을 인쇄합니다.base64=_Part_

관련 정보