Карбюратор Posted June 22, 2013 Report Share Posted June 22, 2013 Список слов: абзац|отступ абзаца|отступа абзацам|отступам абзацами|отступами абзацах|отступах Нужно чтобы они выглядели вот так: (1, 'абзац|отступ'), (2, 'абзаца|отступа'), (3, 'абзацам|отступам'), (4, 'абзацами|отступами'), (5, 'абзацах|отступах'), Как это организовать? Или через какую программу. Link to comment Share on other sites More sharing options...
LifeOnNet Posted June 22, 2013 Report Share Posted June 22, 2013 (edited) На вскидку в голову пришел скрипт для PHP (под windows PHP можно поставить простым установщиком) : <?php$text = file_get_contents("C:\\phptest\\text.txt");$lines = explode("\r\n", $text);$number = 1;foreach ($lines as &$line) {$line ="(".$number.", '".$line."'),";$number++;}$text = implode("\r\n", $lines);file_put_contents("C:\\phptest\\text2.txt", $text);?> Сохранить в файл x.php Во второй строке указывается имя файла с оригинальным текстом. В восьмой имя файла с результатом. При изменении местоположения файла не забыть что \ должен быть заменен на \\ запустить в коммандной строке (под windows) Путь_К_PHP\php.exe путь_к_файлу_php Скрипт не должен вывести ничего если нет ошибок, файл с текстом будет содержать измененный результат. Edited June 22, 2013 by LifeOnNet 1 Link to comment Share on other sites More sharing options...
Карбюратор Posted June 23, 2013 Author Report Share Posted June 23, 2013 Ошибочка выходит Денвер что ли кривой? Link to comment Share on other sites More sharing options...
Карбюратор Posted June 23, 2013 Author Report Share Posted June 23, 2013 (edited) Не смотря на эти ошибки всё получилось, огромное спасибо вам :thumbup: Большое количество строк скрипт не осилил 1.5млн))) fatal error allowed memory size of xxx bytes exhausted (tried to allocate bytes) Edited June 23, 2013 by Карбюратор Link to comment Share on other sites More sharing options...
LifeOnNet Posted June 23, 2013 Report Share Posted June 23, 2013 Не смотря на эти ошибки всё получилось, огромное спасибо вам Рад что все удалось. Большое количество строк скрипт не осилил 1.5млн))) Все таки кажется что это проделки денвера :) я на него как-то не подумал :) я обычно ставлю с php.net оригинал, и использую CLI оригинала. Кстати скрипт протестил на вашем коротком примере именно на оригинальном чистом php, работал без донастроек "из коробки", ошибок как у вас не выдавал (и не должен был), но как сказал не ожидал что вы используете денвер, потому сказать пока сложно что там перенастроено. Что касается 1.5 миллиона строк, это аспект, уважаемый, достаточно важный, его надо было бы оговорить :) 1 Link to comment Share on other sites More sharing options...
Карбюратор Posted June 23, 2013 Author Report Share Posted June 23, 2013 Скачал другой php. Но он тоже отказывается такое большое кол-во строк переделывать. Зато не каких ошибок не выдает. 400 000 строк переделать согласился. Этого думаю достаточно. Ещё раз спасибо вам. Link to comment Share on other sites More sharing options...
LifeOnNet Posted June 23, 2013 Report Share Posted June 23, 2013 (edited) Просмотрев на свежую голову, идея состоит в том что файл целиком читается в память, а память для каждого скрипта ограничена. Потому можно добавить вторую строку следующим образом, вместо 16 поставить размер на пару мегабайт больше размера исходного файла с миллионами строк :) : <?phpini_set('memory_limit','16M');$text = file_get_contents("C:\\phptest\\text.txt");$lines = explode("\r\n", $text);$number = 1;foreach ($lines as &$line) { $line ="(".$number.", '".$line."'),";$number++;}$text = implode("\r\n", $lines);file_put_contents("C:\\phptest\\text2.txt", $text);?> Edited June 23, 2013 by LifeOnNet 1 Link to comment Share on other sites More sharing options...
Карбюратор Posted June 23, 2013 Author Report Share Posted June 23, 2013 Всё получилось))) Только вот не на пару мегабайт пришлось подымать а где то на 900. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now