所以这个脚本计算单词在整个文件中出现的次数。
效果很好。
现在,我需要它来显示哪些行每个字以上4个字符出现。
问题是我几乎没有脚本编写方面的经验。
感谢AdminOfThings为我提供了当前代码!
Function AnalyseTo-Doc
{
param ([Parameter(Mandatory=$true)][string]$Pad )
New-Item C:\destination.txt -ItemType file
$destination = "C:\destination.txt"
$filecontents = Get-Content $Pad -Raw
$words = ($filecontents | Select-String -Pattern "\b[A-Za-z]{4,}\b" -AllMatches).Matches.Value
$words | Group-Object -NoElement | Foreach-Object {
("{0},{1}" -f $_.Count,$_.Name) | Add-Content -Path $destination
}
}
AnalyseTo-Doc
3条答案
按热度按时间cvxl0en21#
正如AnsgarWiechers所暗示的,Select-String返回一个结构化对象,每行匹配。
对于文件
Question_SO_56543125.txt
中的问题文本,脚本返回:输出可以很容易地保存在(csv)文件中。
ncecgwcz2#
下面的修改应该能达到你的目的。
在输出文件中,行号由每行末尾的空格连接。您可以通过更新
-Join " "
部分来更改连接字符。eeq64g8w3#
下面我会给你一个例子,你的问题可以解决:
输出:
改编使其与您的脚本一起工作取决于您。
您可以在此链接下找到示例。
进一步阅读: