Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Loginow on April 29, 2017, 08:08:35 PM
-
Добрый день. Предо мной более 7К строк, с равным кол-вом цифр в каждой. Стоит задача в начале каждой строки вставить один и тот же текст. Голову еще не сломал, прошу спасите. Как правильно составить скрипт?
-
в помощь функции для работы с тестом (если речь идет о текстовом документе).
TFCOUNT ("file") - числовая функция; возвращает кол-во строк в файле
STRCONCAT ("str1", "str2", ...) - строковая функция; возвращает объединенную строку
TFREAD ("file", str_n) - строковая функция; считывает строку из файла
TFWRITE ("file", "str", [str_n]) - записывает строку в файл
а вот готовый скрипт:
FOR($a=1, $a < TFCOUNT("input.txt")+1)
TFWRITE("output.txt",STRCONCAT ("один и тот же текст ",TFREAD ("input.txt", $a)), $a)
END_CYC
halt
"input.txt" - обрабатываемый файл.
"output.txt" - отредактированный файл, итог работы скрипта.
-
После TFWRITE нужно поставить задержку маленькую, а то будет сбоить.
И да, почему частный вопрос не вывести в отдельную тему? Зачем это в типовых алгоритмах?
-
dramster, благодарю вас. Vint прошу простить, впредь не повторится.
-
Более правильно делать это через массив. Не нужно будет 7000 раз читать и переписывать файл :o
TFREADARR("Input.txt", $arr) // читаем файл в массив
FOR($a=0,$a<ARRSIZE($arr)) // обрабатываем
$arr[$a] = STRCONCAT("Текст ", $arr[$a])
END_CYC
TFWRITEARR("Output.txt", $arr) // записываем массив в новый файл
halt