gpt4 book ai didi

powershell - 如何使用 Powershell 中的 StreamReader 类来查找和计算文件中包含的字符数?

转载 作者:行者123 更新时间:2023-12-05 00:51:29 25 4
gpt4 key购买 nike

我是 powershell 的新手,对 .net 没有经验。我有一个使用脚本(get-content | select-string -pattern -allmatches).matches | measure-object查找并计算文件中的字符数。如果文件只包含少于 10k 行,我的脚本将正常工作。否则对于大文件,RAM 将达到 100%,然后 Powershell 将显示(无响应)

我做了一些研究,发现 system.io.streamreader 可以工作,我在 Stackoverflow 中阅读了几个问题,要查找和匹配文件中的字符或单词,您只需执行以下操作:

$file = get-item '<file path>'

$reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $file

[int]$line = 0

while ( $read = $reader.ReadLine() ) {

if ( $read -match '<charcter>' ) {

$line++

}

}

但这只是返回包含字符的行数,而不是文件中的字符数。那么我该如何使用 (select-string -inputobject -pattern -allmatches).matches | measure-object与流阅读器?

最佳答案

您可以使用 ToCharArraywhere找到匹配项。例如,要计算文件中“e”的数量,您可以说:

$file = get-item '<file path>'

$reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $file

[int]$count = 0

while ( $read = $reader.ReadLine() ) {

$matches = ($read.ToCharArray() | where {$_ -eq 'e'}).Count
$count = $count + $matches
}

关于powershell - 如何使用 Powershell 中的 StreamReader 类来查找和计算文件中包含的字符数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44160052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com