Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Как к каждой строчке приписать скобки цифры и запятые?


Рекомендуемые сообщения

Список слов:

абзац|отступ

абзаца|отступа

абзацам|отступам

абзацами|отступами

абзацах|отступах

Нужно чтобы они выглядели вот так:

(1, 'абзац|отступ'),

(2, 'абзаца|отступа'),

(3, 'абзацам|отступам'),

(4, 'абзацами|отступами'),

(5, 'абзацах|отступах'),

Как это организовать? Или через какую программу.

Ссылка на комментарий
Поделиться на другие сайты

На вскидку в голову пришел скрипт для 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

Скрипт не должен вывести ничего если нет ошибок, файл с текстом будет содержать измененный результат.

Изменено пользователем LifeOnNet
Ссылка на комментарий
Поделиться на другие сайты

Не смотря на эти ошибки всё получилось, огромное спасибо вам :thumbup:

Большое количество строк скрипт не осилил 1.5млн)))

fatal error allowed memory size of xxx bytes exhausted (tried to allocate bytes)

Изменено пользователем Карбюратор
Ссылка на комментарий
Поделиться на другие сайты

Не смотря на эти ошибки всё получилось, огромное спасибо вам

Рад что все удалось.

Большое количество строк скрипт не осилил 1.5млн)))

Все таки кажется что это проделки денвера :)

я на него как-то не подумал :) я обычно ставлю с php.net оригинал, и использую CLI оригинала.

Кстати скрипт протестил на вашем коротком примере именно на оригинальном чистом php, работал без донастроек "из коробки", ошибок как у вас не выдавал (и не должен был), но как сказал не ожидал что вы используете денвер, потому сказать пока сложно что там перенастроено.

Что касается 1.5 миллиона строк, это аспект, уважаемый, достаточно важный, его надо было бы оговорить :)

Ссылка на комментарий
Поделиться на другие сайты

Скачал другой php. Но он тоже отказывается такое большое кол-во строк переделывать. Зато не каких ошибок не выдает. 400 000 строк переделать согласился. Этого думаю достаточно. Ещё раз спасибо вам.

Ссылка на комментарий
Поделиться на другие сайты

Просмотрев на свежую голову, идея состоит в том что файл целиком читается в память, а память для каждого скрипта ограничена.

Потому можно добавить вторую строку следующим образом, вместо 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);?>
Изменено пользователем LifeOnNet
Ссылка на комментарий
Поделиться на другие сайты

Всё получилось)))

Только вот не на пару мегабайт пришлось подымать а где то на 900.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...