-4

У меня есть ОГРОМНЫЙ текстовый файл с информацией о пользователях моего сайта. (11GB+). Он построен так:

Email: example@gmail.com
Address: 1blahblahblahblah (Bitcoin Address).
Password: blahblahblah

Каждая из деталей в отдельной строке. (без пробелов между ними).

Детали, которые мне нужны, это адрес Биткойн. Они нужны мне в текстовом файле, один за другим.

Просто мне нужен пакетный /java / любой другой скрипт, который пропускает первую строку, берет биткойн-адрес и помещает его в файл, а затем пропускает другую строку ... непрерывно.

Мне нужны экспортированные адреса BTC в списке, по одному адресу для каждой строки.

Выход мне нужен:

1Exampleexampleexample

1Exampleexampleexample

1Exampleexampleexample

1Exampleexampleexample

Заранее спасибо, ребята.

3 ответа3

0

Как извлечь текст из каждой третьей строки?

Детали, которые мне нужны, это адрес Биткойн. Они нужны мне в текстовом файле, один за другим.

Вы можете использовать findstr .

Замечания:

  • У меня нет файла 11GB для проверки.

Тестовые данные:

Email: example@gmail.com
Address: address 1 (Bitcoin Address).
Password: blahblahblah
Email: example@gmail.com
Address: address 2 (Bitcoin Address).
Password: blahblahblah
Email: example@gmail.com
Address: address 3 (Bitcoin Address).
Password: blahblahblah

Команда:

findstr Address data.txt > address.out

Выход:

C:\test>type address.out
Address: address 1 (Bitcoin Address).
Address: address 2 (Bitcoin Address).
Address: address 3 (Bitcoin Address).

Дальнейшее чтение

0

FINDSTR - Поиск строк в файлах.

findstr /I /C:"Address:" "HUGE text file.txt">"BTC addresses"

Следующий ресурс (требуется чтение) (> , >> и т.д. Специальная страница) Перенаправление

0

Вот сценарий PowerShell, который будет извлекать каждую 2-ю строку (группами по 3) и удалять лишний текст, а также начало и конец этой строки:

$fileToProcess = "C:\users\jsmith\Dropbox\neat scripts\userInfo.txt"
$fileToWrite = "C:\users\jsmith\Dropbox\neat scripts\bitcoin.txt" 
$reader = [System.IO.File]::OpenText($fileToProcess)
$lineCount = 1
try {
        for(;;) {                
            $line = $reader.ReadLine()
            if ($line -eq $null) { break }
            # process the line
            if ($lineCount -eq 2) {  
                $line = $line -replace "Address: "
                $line = $line -replace ' \(Bitcoin Address\).'
                Add-Content $fileToWrite ("`n"+$line)    
            }

            $lineCount = $lineCount+1
            if ($lineCount -gt 3) { $lineCount = 1}
        }
    }
    finally {
        $reader.Close()
    }

В соответствии с моим обычным предупреждением, не проверяйте это, не создавая резервную копию файла, который вы анализируете. Я проверил это на моей машине (с файлом намного меньшего размера, чем тот, который вы анализируете), и он не должен изменять входной файл, однако ваш пробег может отличаться!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .