magiklove1 7 Posted June 1, 2017 Report Share Posted June 1, 2017 Приветствую! Если txt файл, в нем 80 000 строк. Не все строки уникальные, и это нормально. Допускается не более 4х повторений одной строки. Но проблема в том, что некоторые строки повторяются 20 раз. Задача: удалить все повторения, которых больше 4х. Как это сделать? Link to post Share on other sites
serzh82 78 Posted June 1, 2017 Report Share Posted June 1, 2017 15 минут назад, magiklove1 сказал: Приветствую! Если txt файл, в нем 80 000 строк. Не все строки уникальные, и это нормально. Допускается не более 4х повторений одной строки. Но проблема в том, что некоторые строки повторяются 20 раз. Задача: удалить все повторения, которых больше 4х. Как это сделать? Если, можно, чтобы все строки были уникальные, то можно в exel убрать все дубликаты (Данные-Удалить дубликаты) Link to post Share on other sites
magiklove1 7 Posted June 1, 2017 Author Report Share Posted June 1, 2017 2 минуты назад, serzh82 сказал: Если, можно, чтобы все строки были уникальные, то можно в exel убрать все дубликаты (Данные-Удалить дубликаты) Строки должны повторяться, но не более 4х раз Link to post Share on other sites
c00x 33 Posted June 1, 2017 Report Share Posted June 1, 2017 $in = fopen( 'input.txt', 'r' ); if ( $in ) { $arr = array(); while ( ($line = fgets( $in )) !== false ) { $arr[$line][] = trim($line); } fclose( $in ); $out = fopen( 'output.txt', 'a' ); foreach ( $arr as &$value ) { if ( count( $value ) > 4 ) { $value = array_slice( $value, 0, 4 ); } foreach ( $value as $data ) { $data .= PHP_EOL; fwrite( $out, $data ); } } fclose( $out ); } PHP-говнокод на скорую руку. Только вывод будет сгруппирован по строкам. P.S. код не тестировал. magiklove1 1 Link to post Share on other sites
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now