2016-07-14 1 views
1

Имейте csv, например, этот. Хотелось бы использовать powershell Import-csvЗапрос сценария Powershell для csv, верхних записей n типа

Мне нужны последние (или новейшие) 3 записи для каждого типа фруктов.

#foo.csv 
No, Fruit, Quality, Units, Location 
1, Orange, New, 10, Village 
2, Orange, Fresh, 20, City 
3, Apple, New, 15, Village 
4, Grapes, Fresh, 25, City 
5, Apple, Fresh, 30, City2 
6, Apple, Fresh, 35, City1 
7, Apple, Fresh, 35, City2 
8, Grapes, Fresh, 30, City2 
9, Grapes, Fresh, 35, City3 

выход будет содержать строки 5,6,7 на яблоки и 4,8,9 для винограда, строки 1,2 для апельсинов и так далее. Сортировка должна быть плодом, а затем идентификатором строки.

ответ

2
$data = import-csv D:\fruits.txt 
$data | group Fruit | foreach { 
    $_.group | select -last 3 
} | sort Fruit | ft -AutoSize 

e.g. выход:

No Fruit Quality Units Location 
-- ----- ------- ----- -------- 
5 Apple Fresh 30 City2 
6 Apple Fresh 35 City1 
7 Apple Fresh 35 City2 
4 Grapes Fresh 25 City  
8 Grapes Fresh 30 City2 
9 Grapes Fresh 35 City3 
1 Orange New  10 Village 
2 Orange Fresh 20 City  
+0

Благодарим за помощь! Не знаю о группе и выберите последние 3. –