![]() |
Заменить слова рандомно
Имеется текст, пример:
"двести килограмм картофеля сняли" "двести килограмм картофеля сняли" "двести килограмм картофеля сняли" "двести килограмм картофеля сняли" "двести килограмм картофеля сняли" "двести килограмм картофеля сняли" "двести килограмм картофеля сняли" "двести килограмм картофеля сняли" "двести килограмм картофеля сняли" "двести килограмм картофеля сняли" - именно с такими повторениями. Так вот, нужно чтобы каждое слово "картофеля" было заменено рандомно (произвольно)... и должно получится что-то типо: "двести килограмм картофеля сняли" "двести килограмм фываавааа сняли" "двести килограмм ывафыпрл сняли" "двести килограмм упцуйцу сняли" "двести килограмм ыпвпфыпвп сняли" и т.п... думаю, смысл понятен=))))))))) В общем, кто возьмётся и за какую плату=)) нужен такой вот автозаменщик-) или подскажите, где воспользоваться) Благодарю! ICQ#: 640-000-342 |
Набросал тут на Perl немного:
#!/usr/bin/perl use strict; use Getopt::Long; my $source_file = ""; my $set_of_world = ""; my $result_file; my @set_of_world = (); GetOptions("source=s" => \$source_file, "set=s" => \$set_of_world, "result=s" =>\$result_file); unless ($source_file && $set_of_world ) { Usage(); } open(fd_set, "$set_of_world"); while(<fd_set>) { chomp $_; push @set_of_world, $_; } close(fd_set); open(fd_source, "$source_file") or die "Can't open $source_file: $!\n"; if(defined($result_file)) { open(fd_result, ">$result_file"); } while(<fd_source>) { chomp $_; my($a, $b, $c, $d) = split(' ', $_); if(defined($result_file)) { print fd_result "$a $b ".$set_of_world[rand @set_of_world]." $d\n"; } else { print "$a $b ".$set_of_world[rand @set_of_world]." $d\n"; } } if(defined($result_file)) { close(fd_result); } close(fd_source); sub Usage() { print "Usage: perl ./script.pl --source=source.txt --set=set.txt [--result=result.txt]"; exit 0; } |
А что скачать - не подскажете?
|
ActivePerl, скачай и установи.. потом создай файл name.pl .. и запускай Пуск -> Выполнить -> cmd .. там пиши путь до скрипта и жми enter
|
Качаете ActivePerl . Ставите. Копируете скрипт отсюда. В файлике source.txt - то, что надо поменять. В файле set.txt - набор рандомных слов. Кладете все это файло в одну папку со скриптом и запускаете:
perl script.pl --source=source.txt --set=set.txt На консоль выпадет результат. Если хотите, чтобы резалт падал в файл, то запускаете вот так: perl script.pl --source=source.txt --set=set.txt --result=result.txt Все!) |
А зачем тут что-то заменять, если можно сразу генерировать то, что тебе нужно..?!
Код:
#!/usr/bin/perl Код:
двести килограмм фцддонм сняли |
| Время: 13:11 |