перемешать текст c двух файлов

Тема в разделе "Вопросы новичков", создана пользователем sidor80, 6 фев 2011.

  1. sidor80

    sidor80 Постоялец

    Регистр.:
    15 фев 2007
    Сообщения:
    80
    Симпатии:
    33
    Хочу собрать текстовку для дора.
    Есть файл с переведеным текстом, текст в нем плохочитаемый, но зато уникальный. Также есть второй файл с копипастным текстом, текст в нем хорошо читаемый, но зато не уникальный.
    Я хочу объеденить эти два файла в один с помошью премешивания предложений. Допустим взять 3 предложения с одного файла вставить в объедененый файл потом взять 3 предложения с другого файла вставить в объедененый файл.
    Подскажите софтину которая может это сделать.
     
  2. karapet

    karapet

    Регистр.:
    9 сен 2008
    Сообщения:
    168
    Симпатии:
    104
    Можно объединить оба файла в один(главное только чтоб каждое предложение было с новой строки) и перемешать KeyWordKeeper
    http://newox.ru/kwk.php
     
  3. Rafa007

    Rafa007

    Регистр.:
    4 июл 2008
    Сообщения:
    154
    Симпатии:
    135
    Или в TextPipePro
    В фильтрах выбрать Специальная -> Рандомизация строк
     
  4. serrgo

    serrgo

    Регистр.:
    13 авг 2006
    Сообщения:
    158
    Симпатии:
    77
    В TextPipe проблема с этим фильтром была я точно помню, по крайней мере в 7.х версии. Как то он кусками чтоли рэндомизировал файл. Я для операции рэндомизация юзал софтину raptor, а TextPipe-ом уже все остальное делал.
     
  5. voin allaha

    voin allaha Создатель

    Регистр.:
    20 янв 2011
    Сообщения:
    29
    Симпатии:
    16
    Вот скрипт:
    PHP:
    <?php 
    $f1
    =file_get_contents('file1.txt');
    $f2=file_get_contents('file2.txt');
    $f1.=$f2;
    $sentences=$f1;
    function 
    shuffle_sentences($data) { 
        
    $data str_replace("\r\n"" "$data); 
        
    $pattern "/(\?+\s*|\.+\s*|!+\s*)/"
        
    $data preg_split($pattern$data, -1PREG_SPLIT_DELIM_CAPTURE ); 
        
    $sentences = array(); 
        for (
    $i=0$i sizeof($data); $i++) { 
            
    $sentence $data[$i]; 
            if (
    $sentence == "") { $i; continue; } 
            if (isset(
    $data[$i+1])) { 
                
    $sentence .= trim($data[$i+1]); 
                
    $i+=1
            } 
            else 
    $sentence .= "."
            
    $sentences[] = $sentence
        } 
        
    shuffle($sentences); 
        
    $data implode(" "$sentences); 
        return 
    $data

    $result=shuffle_sentences($sentences);
    file_put_contents('result.txt'$result); 
    ?>
    Берет содержимое из 2 файлов, рандомно перемешивает по предложениям и сохраняет результат в файл. Если взять файл с копипастом, содержащий в 2-3 раза больше предложений чем файл с переводом, то можно достичь нужного вам результата.
    P.S. метод экзотический но все-таки тоже метод :)
     
  6. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    пхп метод очень экзотический :), тем более с file_get_contents. скрипт загнется, текстовка для доров имеет немалые обьемы.. если уже, то с fread читать блоки.
     
  7. Rafa007

    Rafa007

    Регистр.:
    4 июл 2008
    Сообщения:
    154
    Симпатии:
    135
    В последней версиии (8.6.7) нет никаких проблем
     
  8. gts

    gts

    Регистр.:
    12 сен 2010
    Сообщения:
    271
    Симпатии:
    42
    keywordkeeper - может объединить и перемешать.