Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Как или чем затащить 100 меговый тхт в mysql?
Новая тема
Ответить
цитата
12/11/10 в 12:13
Axel-B
САБЖ, данные в формате:
Код:
01aaaaaa eeeeeee ttttttt
01aaaaaa eeeeeee ttttttt
01aaaaaa eeeeeee ttttttt
......
01aaaaaa eeeeeee ttttttt
02dddddd wwwwwww ttttttt
02dddddd wwwwwww ttttttt
02dddddd wwwwwww ttttttt
......
02dddddd wwwwwww ttttttt
03kkjjutr eeddddd
03kkjjutr eeddddd
.....
и так далее, первые два символа номер таблицы(всего четыре), далее данные. Пробовал на php написать скрипт, что-то виснет все при обработке(размер файла по видимо слишком большой).
цитата
12/11/10 в 12:51
doommy
Размер файла не причем, это забавный формат данных.
Разнеси данные по 4-м файлам, убрав при этом 01,02,03,04 из первой колонки.
Тогда 4 команды из командной строки mysql:
LOAD DATA LOCAL INFILE "01.txt" INTO TABLE 01;
LOAD DATA LOCAL INFILE "02.txt" INTO TABLE 02;
LOAD DATA LOCAL INFILE "03.txt" INTO TABLE 03;
LOAD DATA LOCAL INFILE "04.txt" INTO TABLE 04;
база с таблицами должна быть перед этим создана.
цитата
12/11/10 в 12:59
wMaster
Axel-B писал:
Пробовал на php написать скрипт, что-то виснет все при обработке(размер файла по видимо слишком большой).
Мне кажется лучше будет через командную строку.
цитата
12/11/10 в 13:12
Axel-B
Цитата:
Разнеси данные по 4-м файлам, убрав при этом 01,02,03,04 из первой колонки.
А чем его лучше "разнести", ручками долго и нудно, на php не получается (размер 100 мегов)?
цитата
12/11/10 в 13:26
Jacob
Код:
grep '^01' data.txt | sed 's/..\(.*\)/\1/' > 01.txt
grep '^02' data.txt | sed 's/..\(.*\)/\1/' > 02.txt
grep '^03' data.txt | sed 's/..\(.*\)/\1/' > 03.txt
grep '^04' data.txt | sed 's/..\(.*\)/\1/' > 04.txt
Как-то так
цитата
12/11/10 в 13:40
doommy
Разнесение с убиранием 01,...04 в nix'e:
grep ^01 -G 100mega.txt |sed 's/^01//g' >01.txt
grep ^02 -G 100mega.txt |sed 's/^02//g' >02.txt
grep ^03 -G 100mega.txt |sed 's/^03//g' >03.txt
grep ^04 -G 100mega.txt |sed 's/^04//g' >04.txt
Новая тема
Ответить
Эта страница в полной версии