Работа с контактной инфой

Impils

Ситуация:
Есть один тхт файл в котором записана контактная информация людей по шаблону:
Фамилия: Иванов
Имя: Иван
Должность: специалист
Рабочий: 111-1111
Сотовый: +7 (111) 111-1111
Эл. почта: domain.ru
Эту информацию о каждом человеке надо перевести в htm файл определённого шаблона и раскидать по папкам (папка должна назваться как почтовый ящик, только до собаки)
Чем и как это проще всего сделать ?

dangerr

shell\perl\python\ruby

Impils

Лучше, чтобы средства нашлись под винду.

logan00108

Ну значит то же самое, только с CygWin/MinGW

dangerr

Во-первых не ставилось задачи чтобы это было под винду. А во-вторых, это все есть под винду.

Serab

shell\perl\python\ruby
awk/sed/possibly bash

Dasar

Чем и как это проще всего сделать ?
тебе gui-евое решение нужно, или скрипты тоже устроят?
если под windows, то для скриптов powershell можно взять.

Dasar

самое сложное - это развернуть список в таблицу
дальше все уже халявно делается

Impils

Скрипты устроят, только надо пример какой-нибудь

Dasar

Скрипты устроят, только надо пример какой-нибудь
парсит исходный файл и создает набор контактов.
генерация директорий, html-я и т.д. запихивается в функцию ProcessContact, где входной параметр $contact - это уже распарсенный контакт с полями "Фамилия", "Должность" и т.д.

function BeginOfLine
{
param([string]$line, [string]$separator);
if ($line -ne $null)
{
$pos = $line.IndexOf($separator);
if ($pos -ge 0)
{
$line.SubString(0, $pos);
}
}
}
function EndOfLine
{
param([string]$line, [string]$separator);
if ($line -ne $null)
{
$pos = $line.IndexOf($separator);
if ($pos -ge 0)
{
$line.SubString($pos+$separator.Length).Trim;
}
}
}

function get-contacts
{
$contact = @{};

$input | foreach `
{
$begin = BeginOfLine $_ ":"
if ($begin -ne $null)
{
if ($begin -eq "Фамилия")
{
if ($contact["Фамилия"] -ne $null)
{
$contact
$contact = @{}
}
}
$contact[$begin] = EndOfLine $_ ":";
}
}

if ($contact["Фамилия"] -ne $null)
{
$contact
}

}

function ProcessContact
{
param ($contact)

write-host "Hello, " $contact["Должность"] " " $contact["Фамилия"]
}


get-content contacts.txt | get-contacts | foreach {ProcessContact($_)}

Dasar

генерацию html кстати лучше делать в виде внешнего шаблона

<html>
<body>
Hello $$$Должность$$$ $$$Фамилия$$$
</body>
</html>

а потом у этого шаблона заменять все эти $$$...$$$
Оставить комментарий
Имя или ник:
Комментарий: