PowerShell foreach select-string query

时间:2017-10-16 06:04:05

标签: powershell

对于下面的CSV文件,我想在文件中搜索每种类型的Fruit,并通过PowerShell显示最后一个条目。我已尝试过以下操作,但我得到的是空白输出。

$fruits = Import-Csv Fruits.csv | select Fruit | sort-object -Property Fruit -Unique

foreach ($fruit in $fruits)
{
 Import-CSV Fruits.csv | Select-String -Pattern $fruit
}

Fruits.csv文件:

Fruit, Weight
Apple, 3 pounds
Apple, 4 pounds
Apple, 10 pounds
Orange, 3 pounds
Kiwi, 3 pounds
Grape, 2 pounds
Orange, 13 pounds
Grape, 3 pounds
Apple, 6 pounds
Apple, 2 pounds

预期产出:

Apple, 2 pounds
Orange, 3 pounds
Kiwi, 3 pounds
Grape, 2 pounds

有人可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

由于上次橙色计数 13 ,您的预期输出可能错误

无论如何,您可以使用Group-Object cmdlet根据Fruit属性对结果进行分组,并使用-1索引选择最后一个条目:

Import-Csv Fruits.csv  | 
    Group Fruit |
    ForEach-Object {
        $_.Group[-1]
    }

<强>输出:

Fruit  Weight   
-----  ------   
Apple  2 pounds 
Orange 13 pounds
Kiwi   3 pounds 
Grape  3 pounds