Posso filtrar e classificar ids de email no notepad ++ e outros editores de texto?

1

Eu tenho um arquivo txt que tem cerca de 20000 id de e-mail. Desejo saber a contagem de e-mails do Gmail, Yahoo, Gmail, Google Maps, Live, Domínio personalizado, GMX e outros e-mails temporários separadamente. E também eu preciso filtrá-los e classificá-los em ordem de domínio de e-mail. Como posso fazer isso usando o notepad ++? Se qualquer outro programa tornar isso muito mais fácil do que o notepad ++, por favor, refira-o também.

    
por Dhinesh 17.11.2014 / 11:23

1 resposta

1

Eu faria isso no Excel

Copie a lista na Coluna A do Excel. O Excel permitirá que você classifique (e remova as duplicatas, se necessário).

De lá, essa macro fará isso

Sub DoTheThing()

Range("C:D").Cells.ClearContents

Dim row As Integer
row = 1

Do While (Range("A" & row).Value <> "")

    Dim emails() As String
    emails = Split(Range("A" & row).Value, "@")
    Dim domain As String

    Dim i As Integer

    'domain = emails(1)         commented out. Use this line if you want to include .com or .net
    domain = Split(emails(1), ".")(0)   'use this line if you want just the provider, such as GMAIL or Yahoo

    Dim resultsRow As Integer
    resultsRow = 1

    Dim resultExists As Boolean
    resultExists = False

    Do While (Range("C" & resultsRow).Value <> "")

        If (Range("C" & resultsRow).Value = domain) Then
            Range("D" & resultsRow).Value = Range("D" & resultsRow).Value + 1  ' add 1
            resultExists = True
        End If

    resultsRow = resultsRow + 1
    Loop

    If (resultExists = False) Then
        Range("C" & resultsRow).Value = domain
        Range("D" & resultsRow).Value = 1
    End If


row = row + 1

Loop

End Sub

O código acima assume que sua lista original está em minúsculas

Capturas de tela de antes e depois, mostrando as ocorrências do provedor

Antes

Depois

    
por 17.11.2014 / 12:01