Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.146.152.99] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток.
Имеется файл, содержащий строки типа "Иванов Иван Иванович" Помогите составить скрипт PS который преобразует строки в формат электронной почты по шаблону ФамилияИНИЦИАЛЫ в латинице, типа такого IvanovII@org.dom.ru |
Сообщ.
#2
,
|
|
|
А зачем в задаче ограничение инструмента? Имо, тул легче на других языках написать.
|
Сообщ.
#3
,
|
|
|
ИМХО на PS проще
Я уже накидал преобразовалку, осталось прикрутить функцию транслитерации $out = @() $filez = Import-CSV -Path D:\WORK\ReEmailing\Allusers.csv -delimiter ";" -Encoding Default foreach ($u in $filez.UserName) { $mylo = $u.Split(" ")[0] + $u.Split(" ")[1][0] + $u.Split(" ")[2][0] $props = @{ FIO = $u MAIL = $mylo } $out += New-Object PsObject -Property $props } $out | Export-Csv -NoClobber -Encoding Default -Path "allUsersEmail.csv " -Delimiter ";" -NoTypeInformation |
Сообщ.
#4
,
|
|
|
Цитата YURETS @ ИМХО на PS проще ИМХО, на awk проще: ~ % cat users.csv Ivanov;Ivan;Ivanovitch Petrov;Pyotr;Pyetrovitch Sidorov;Aleksey;Vladimirovitch ~ % cat users.csv | awk -F ";" '{ print $1 substr($2, 1, 1) substr($3, 1, 1) "@org.dom.ru" }' IvanovII@org.dom.ru PetrovPP@org.dom.ru SidorovAV@org.dom.ru |
Сообщ.
#5
,
|
|
|
Можно даже без cat обойтись, если программу ключом -e пометить. Тогда awk файл будет самостоятельно читать.
Сравнение явно не в пользу супернавороченного PS. На awk вся программа вообще в командную строку помещается. |
Сообщ.
#6
,
|
|
|
Мои первые действия в заМои первые действия в задаче подобного рода - пошёл бы на скл.ру (или здесь), нашёл бы кусок кода , который переводит русские символы в литинистические, написал бы на шарп девелопере длл и дёргал бы её.даче подобного рода - пошёл бы на скл.ру (или здесь), нашёл бы кусок кода , который переводит русские символы в литинистические, написал бы на шарп девелопере длл и дёргал бы её.
|