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つの追加文字が続くか、1つのパッド文字を持つ3つのシーケンス、または2つのパッド文字を持つ2つのシーケンスが続きます。