Просмотр полной версии : ищу парсер
есть БД примерно такого вида:
12|7474747|mail@mail.ru|mypass|name|2009
нужна софтина - парсер, который позволил бы мне убрать все ненужные поля, до разделителя, например осатвить только
mail@mail.ru|mypass
Есть ли готовые решения? Писать ой как не хочется.....
Epic wave
10.12.2009, 20:35
что мешает выборку из бд по полям сделать?
у меня не sql-дамп. Nо бишь импортировать в БД я не смогу без предварительной обработки.
ещё раз повторюсь. База (список если угодно) имеет такой вид:
12|7474747|mail@mail.ru|mypass|name|2009
13|7474547|mail@mail.ru|mypasds|name|2009
14|723447|msil@mail.ru|mysdfss|namfe|2009
15|7473747|madl@mail.ru|mypdfass|nadme|2009
а нужно привести к такому:
mail@mail.ru|mypass
mail@mail.ru|mypasds
msil@mail.ru|mysdfss
madl@mail.ru|mypdfass
Что-то типа такого
#!/usr/bin/php
<?php
$data = file('data.txt');
for ($i = 0; $i < count($data); $i++) {
$p = explode("|", trim($data[$i]));
echo $p[2]."|".$p[3]."\r\n";
}
?>
спасибо, я уже накидал на делфи
тру-кодеры блин... это все можно сделать в обычном экселе
shellz[21h]
11.12.2009, 03:31
Одна команда :)
]$ sed -r 's#(.*)\|(.*)\|(.*)\|(.*)\|(.*)\|(.*)#\3\|\4#g' db.txt > out.txt
Моя короче :)
$ cut -d\| -f3,4 1.txt > out.txt
shellz[21h]
11.12.2009, 17:18
спасибо, что на помнил... все пытлася вспомнить эту команду :)
Вот еще вариант
]$ awk -F\| '{print $3,$4}' db.txt > out.txt :)
Unix рулит :)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot