使用 Windows 从每三行中提取文本

使用 Windows 从每三行中提取文本

我有一个巨大的文本文件,里面有我网站用户的详细信息。(11GB+)。它的构建方式如下:

Email: [email protected]
Address: 1blahblahblahblah (Bitcoin Address).
Password: blahblahblah

每个细节占一行。(它们之间没有空格)。

我需要的详细信息是比特币地址。我需要将它们一个接一个地组织在一个文本文件中。

简单来说,我需要一个批处理/java/任何脚本,跳过第一行,获取比特币地址并将其放入文件中,然后跳过另一行..连续地。

我需要一个列表中导出的 BTC 地址,每行一个地址。

我需要的输出:

1示例示例示例

1示例示例示例

1示例示例示例

1示例示例示例

提前谢谢大家。

答案1

下面是一个 PowerShell 脚本,它将获取每隔一行(以 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()
    }

根据我的常规警告,在测试此操作之前,请备份您正在解析的文件。我已经在我的计算机上测试过此操作(使用比您正在解析的文件小得多的文件),它不会更改输入文件,但是,您的情况可能会有所不同!

答案2

FINDSTR——在文件中搜索字符串

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

下一个资源(必读)(>>>特殊页面)重定向

答案3

如何从每三行中提取文本?

我需要的详细信息是比特币地址。我需要将它们一个接一个地组织在一个文本文件中。

您可以使用findstr

笔记:

  • 我没有 11GB 的文件可供测试。

测试数据:

Email: [email protected]
Address: address 1 (Bitcoin Address).
Password: blahblahblah
Email: [email protected]
Address: address 2 (Bitcoin Address).
Password: blahblahblah
Email: [email protected]
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).

进一步阅读

相关内容