Uragan66
29-06-2024, 09:13
Всем привет!
Имеется текстовый файл, содержащий строки с адресами e-mail. К примеру, такого содержания:
felix.doebele@web.de:Привет
romina.wilhelm@web.de:Как дела?
katrin.wink@gmx.de:Когда приедешь?
arnold@vfw.de:Я дома
beatebeauty@freenet.de:Завтра буду
Пытаюсь отсортировать строки по доменам e-mail. Такой код:
$addresses = @()
Get-Content .\test.txt -Encoding utf8 | % {
$n = $($_ -split '@')[0]
$d = $($_ -split '@')[1]
$o = New-Object PSObject -property @{name=$n;domain=$d;email=$_}
$addresses += ,$o
}
$addresses | sort domain,name | select -ExpandProperty email
работает правильно, сортирует как надо. На выходе:
beatebeauty@freenet.de:Завтра буду
katrin.wink@gmx.de:Когда приедешь?
arnold@vfw.de:Я дома
romina.wilhelm@web.de:Как дела?
felix.doebele@web.de:Привет
Но очень уж долго. Особенно на больших файлах.
Может кто подскажет, как можно оптимизировать код для более продуктивного решения этой задачи ? Заранее благодарен за помощь и подсказки!
Имеется текстовый файл, содержащий строки с адресами e-mail. К примеру, такого содержания:
felix.doebele@web.de:Привет
romina.wilhelm@web.de:Как дела?
katrin.wink@gmx.de:Когда приедешь?
arnold@vfw.de:Я дома
beatebeauty@freenet.de:Завтра буду
Пытаюсь отсортировать строки по доменам e-mail. Такой код:
$addresses = @()
Get-Content .\test.txt -Encoding utf8 | % {
$n = $($_ -split '@')[0]
$d = $($_ -split '@')[1]
$o = New-Object PSObject -property @{name=$n;domain=$d;email=$_}
$addresses += ,$o
}
$addresses | sort domain,name | select -ExpandProperty email
работает правильно, сортирует как надо. На выходе:
beatebeauty@freenet.de:Завтра буду
katrin.wink@gmx.de:Когда приедешь?
arnold@vfw.de:Я дома
romina.wilhelm@web.de:Как дела?
felix.doebele@web.de:Привет
Но очень уж долго. Особенно на больших файлах.
Может кто подскажет, как можно оптимизировать код для более продуктивного решения этой задачи ? Заранее благодарен за помощь и подсказки!