Добавить уникальный текст перед каждой строкой.

S
На сайте с 17.08.2012
Offline
52
3215

Есть текстовой файл, где в столбиком в каждой строке написан одинаковый текст: "site.ru". Нужно сделать так, чтобы в каждой строке перед текущим текстом появился разный (уникальный) текст: "dsadsite.ru", "12312site.ru" , "dsad34234aadssite.ru"

т.е. в каждою строку перед текущим текстом должен добавляться уникальный (рандомный) текст разной длины. Как можно такое реализовать, строк более 10000. Заранее огромное спасибо за помощь!

G0
На сайте с 10.08.2013
Offline
12
#1

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

Что из этого не понятно?

S
На сайте с 17.08.2012
Offline
52
#2
Gug007:
Прочитали файл, пробежались по строкам циклом, в цикле перебирая строки генерируете случайную строку дописывая к основной и сохраняете в какую-то переменную это все. И потом сохраняете всю это в файл.
Что из этого не понятно?

А у Вас случайно скрипта такого нету?

А то я в программировании "не очень", а как это сделать, например, через notepad++ не могу даже представить.?.?😕

B
На сайте с 17.04.2010
Offline
97
#3
Gug007:
Что из этого не понятно?

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

Не умея программировать я бы сделал так:

1. Любым способом бы нагенерировал нужное количество строк случайных символов, для чего взял бы, например большую статью или книгу, пунто свитчером сменил раскладку, чтобы перевести кириллицу в латинский бред, в notepad++ автозаменой заменил по очереди все знаки препинания на пустоту, после этого все пробелы регуляркой \r\n, и удалил пустые строки.

2. Случайным образом заменил некоторые символы цифрами (например букву "а" числом 268, букву "о" числом 74...)

3. Плагином TextFX удалил дубликаты.

4. Макросом дописал бы в конец каждой строки нужный адрес.

Что бы на практике подтвердить эту легкую наркоманию, только что я взял 5 первых глав моей любимой книги "Чапаев и Пустота" и наделал с их помощью 13000+ случайных строк. Осталось только записать макрос вида: Клавиша End >> ctrl+V нужного адреса >> стрелка вниз

И прогнать все это безобразие до конца документа. Профит )

При достаточных навыках операция проделывается за 3-4 минуты максимум.

Аттачу блокнот с 13666 строками рандома, сделанный таким экзотичным способом )

zip random.zip
Делаю лендинги и не только. Маркетолог. Обучаю. Ответы на вопросы по Elementor (/ru/forum/1015634). Можно стучаться мне прямо в ВК (https://vk.com/valeost). Ничего не продаю, не навязываю
Mad_Man
На сайте с 10.11.2008
Offline
162
#4

<?php


$line_array = read_file('in.txt');
$line_count = count($line_array);

$rand_array = rand_strings($line_count, 1, 32);


$result = '';

for ($i = 0; $i < $line_count; $i++)
{
$result .= $rand_array[$i] . $line_array[$i] . PHP_EOL;
}

file_put_contents('out.txt', $result);





function rand_strings($count = 10000, $length_min = 1, $length_max = 32)
{
$alphabet = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';


$strings = array();

while (count($strings) < $count)
{
$length = mt_rand($length_min, $length_max);


$string = '';

for ($i = $length_min; $i < $length; $i++)
{
$string .= $alphabet[mt_rand(0, strlen($alphabet) - 1)];
}

if (in_array($string, $strings))
{
continue;
}

$strings[] = $string;
}

return $strings;
}

function read_file($filename)
{
$data = file_get_contents($filename);

$lines = explode(PHP_EOL, $data);

return $lines;
}
G0
На сайте с 10.08.2013
Offline
12
#5
benmer:
Сделаю предположение, что непонятно все. Если человек спрашивает подобный вопрос, он с вероятностью чуть менее чем 100% не разбирается в программировании.

Не поздно делать предположение и выдумывать вероятности?

К сожалению или счастью у меня нету наркотиков чтобы додуматься до вашего метода.

B
На сайте с 17.04.2010
Offline
97
#6
Gug007:
Не поздно делать предположение и выдумывать вероятности?
К сожалению или счастью у меня нету наркотиков чтобы додуматься до вашего метода.

Поздно в плане времени суток? У кого-то ночь, у кого-то утро. Существуют часовые пояса. 🍿

До моего метода вы додуматься не можете, зато претенциозно ответить вам по силам :)

Напоминает старый анекдот:

Сынишка спрашивает папу-математика
- Пап, а как пишется восьмерка?
- Очень просто, сынок, как бесконечность, повернутся на Пи пополам.

Вот товарищу Mad_Man, в отличие от вас, не составило труда просто без лишних слов выложить рабочий скрипт.

G
На сайте с 13.03.2014
Offline
4
#7
benmer:
Поздно в плане времени суток? У кого-то ночь, у кого-то утро. Существуют часовые пояса.

Интересное мышление) Постараюсь пояснить доступнее. Поздно означает что ваш прогноз бессменен после ответа ТС.


До моего метода вы додуматься не можете, зато претенциозно ответить вам по силам :)

Научитесь различать претензии и вопросы.


Вот товарищу Mad_Man, в отличие от вас, не составило труда просто без лишних слов выложить рабочий скрипт.

К сожалению я не телепат чтобы читать мысли.

Надеюсь ответил на все вопросы и можем закрыть тему.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий