powershell - 在Powershell中需要一些逻辑来衡量最新

标签 powershell

我有一个像这样的文本文件:

9/22/2015
8/16/2015
8/15/2015
7/30/2015
7/1/2015
6/30/2015

我正在尝试测量月份不等于9或8的最新条目。

我不合逻辑,尝试的内容如下:
$split1 = Get-Content "C:\RDS\split1.txt"
foreach($spl1 in $split1)
{
 $sp1 = $spl1 -split '/'
 $spl1M = $sp1[0]
 if(($spl1M -ne $past_month) -and ($spl1M -ne $cur_month))
 {
  $array3 += $spl1 
 }else
 {
$array3 | Measure-Latest | Add-Content "C:\month.txt"
 }
}

简而言之:当我在第7个月中有2个元素时,我需要获取这两个元素中的最新元素并将其写入文件。所有其他月份不为8和9的其他用户也是如此(如果循环将对此加以保护)。 Measure-Latest是一个函数。

有人可以为我提供实现此目标的逻辑吗?

编辑:

enter image description here

最佳答案

您可以按月对日期进行分组,排序,然后选择每个月的最大日期:

$dateGroup = gc "C:\RDS\split1.txt" | Group-Object -Property { $dt=[datetime]$_; $dt.Month } | ?{ $_.Name -ne "8" -and $_.Name -ne "9" }

$dateGroup | %{ [pscustomobject]@{"Count"=$_.Count; "Name"=$_.Name; "Group"=$($_.Group | Sort-Object -Descending | Select-Object -first 1) } }

关于powershell - 在Powershell中需要一些逻辑来衡量最新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32481129/

相关文章:

c# - 在 Powershell 中替换字符串的一部分

powershell - 如果 PowerShell 中的字符串以以下开头

Powershell脚本 “on exit”事件?

powershell - CloudFormation 用户数据到 Base64 解码不正确

powershell - 修改日期的 tree/f cmd。 Windows Powershell

powershell - "Dollar-sign"在 powershell "$()"中是可选的吗?

winforms - Powershell CLI 中的 GUI 和 PSRemoting

Powershell Active Directory - 将我的 get-aduser 搜索限制到特定 OU [和子 OU]

java - Powershell:使用 Process 对象捕获标准输出和错误

bash - 从巨大的文件中打印样本