我尝试计算文件夹中具有相同名称模式的文件。在这种情况下,每个标志都在" _"是重要的部分(模式)。
示例(c:\ temp)
ct24fe_2016-03-01.txt
ct24fe_2016-03-04.txt
ct24fe_2016-03-08.txt
ct24fe_2016-04-01.txt
ct24fe_2016-04-04.txt
xye4ka_2015-03-04.txt
xye4ka_2015-03-08.txt
xye4ka_2015-03-10.txt
xye4ka_2015-03-15.txt
xye4ka_2015-04-01.txt
xye4ka_2015-04-04.txt
zzztgf_2014-04-16.txt
zzztgf_2014-04-18.txt
zzztgf_2014-04-19.txt
zzztgf_2014-05-15.txt
结果应为:
名称|计数
ct24fe | 5
xye4ka | 6
zzztgf | 4
我怎么能这样做?
感谢您的支持。
答案 0 :(得分:1)
Group-Object
支持-Property
参数的脚本块,您可以将文件直接传送给它:
Get-ChildItem C:\temp |Group-Object {$_.Name -split '_' |Select -First 1} -NoElement
答案 1 :(得分:0)
所以我想出了这个:
$input = "your stuff"
$array = New-Object System.Collections.ArrayList
$input | % {$array.Add($_.split("_")[0])}
$array | Group-Object -NoElement
答案 2 :(得分:0)
一种可能性:
return items.stream()
.filter(i -> !otherItems.contains(i))
.filter( /* another condition */ )
.collect(Collectors.toList());