grep을 사용하여 Base64 문자열을 검색할 수 있습니까? 텍스트 파일 목록이 있고 여기에 포함된 모든 Base64 문자열을 찾고 싶다고 가정해 보겠습니다. 이를 검색할 수 있는 방법이 있습니까? 내 말은, 일반적으로 =
or로 끝나고 ==
무엇과 관련된 바이트 시퀀스도 있다는 것을 의미합니다.인코딩된 문자base64 문자열 내. 그러나 일반적으로 (무엇이 인코딩되고 있는지 알지 못한 채) 검색하는 방법은 잘 모르겠습니다.
답변1
필요한 경우 올바른 구조와 패딩을 사용하여 유효한 Base64 문자로만 구성된 문자열을 찾을 수 있습니다.
grep -E '[A-Za-z0-9+/]{4}*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)'
이렇게 하면 4개의 Base64 문자로 구성된 시퀀스를 원하는 수만큼 찾고 그 뒤에 4개의 추가 문자가 오거나 단일 패드 문자가 있는 3개의 시퀀스 또는 2개의 패드 문자가 있는 2개의 시퀀스가 옵니다.