Ребят, чем бы удалить дублирующие строки в нескольких txt?
Можно конечно склеить все файлы, потом удалить дубли, это просто.
А если не склеивать, как бы удалить дубли? Подскажите, пожалуйста.
Отправлено 25 Январь 2019 - 21:59
Ребят, чем бы удалить дублирующие строки в нескольких txt?
Можно конечно склеить все файлы, потом удалить дубли, это просто.
А если не склеивать, как бы удалить дубли? Подскажите, пожалуйста.
Отправлено 25 Январь 2019 - 22:36
Привет.
Есть приблуда, работающая в среде Total Commander-а. Называется TCIMG. Это собранный в одну программу набор скриптов на все случаи жизни. Одно из применений - работа с текстовыми файлами. Почитай хелп. Он очень подробный. В упомянутом случае вроде подходят команды:
textx=%L||formt<1> ;; удаление дубликатов в содержимом выделенных текстовых файлов
textx=%L||formt<9> ;; в содержимом выделенных текстовых файлов удалить дублирующиеся строки (остаются строки, которые не повторялись)
(Раздел справки: Все команды -> Текст - > Преобразование текстовых файлов)
Правда не скажу сейчас - какая из них убирает дублирующиеся строки полностью, а какая - оставляет одну из них и что именно тебе нужно. Поэкспериментируй... Но не забывая о резервных копиях
Сообщение отредактировал lifepusher: 25 Январь 2019 - 22:37
Отправлено 25 Январь 2019 - 22:54
Да, чуть не забыл. Если нужен отдельный инструмент для работы с текстом в ом же проекте есть расширенная версия AkelPad-а - AkelPad Image Full. В нём собраны все скрипты для работы с текстом. То, что нужно: Меню -> Сортировка -> Дубликаты строк + С учётом регистра символов ->
Отправлено 26 Январь 2019 - 00:19
Ну и если не помогло можно попробовать моим кривоватым кодом PHP.
<?php header('Content-Type: text/plain; charset=utf-8'); mb_internal_encoding("UTF-8"); $file = 'counter.txt'; $file = fopen($file, "r"); $arr = []; $arr = file('counter.txt'); $arr = array_map('trim', $arr); $arr_str = array_unique($arr, SORT_LOCALE_STRING); $arr_str = implode("\r\n", $arr_str); file_put_contents('result.txt', $arr_str);
Сообщение отредактировал кобряныч: 26 Январь 2019 - 00:19
Отправлено 26 Январь 2019 - 02:30
так в экселе приблуды есть для удаления дублей
Отправлено 26 Январь 2019 - 12:17
vorn, возьми и просто скачай маленькую такую прогу, которой я пользовался раньше, помогала работать с базами, можно рандомизировать, удалять дубли, разбивать и прочее. Встраивается в контекстное меню, то есть при наведение курсора на файл, щелкаешь правой клавишей мыши и ищешь программу которая встроилась и выбираешь уже нужную функцию:
Скачать: https://yadi.sk/d/r7EHWJtGjo5M0w
Вирус Тотал: https://www.virustot...2b855/detection
В общем качай и не парься)
Отправлено 26 Январь 2019 - 14:35
lifepusher, Спасибо. Не смог разобраться. Скачал даже тотал коммандер с их сайта со встроенным TCIMG, но тоже хрен что поймёшь.
То что подробная справка у TCIMG, списки комманд и т.д., а куда вводить эти команды не понятно.
По поводу AkelPad. Так понял он работает только с одним файлом. Не хочет со всеми файлами работать.
кобряныч, Спасибо. Нужно чтобы приблуда работала со всеми файлами, учитывая содержимое всех файлов сразу, т.е. не просто что бы удалила дубли из каждого файла, а что бы было так:
есть к примеру 3 файла:
1.txt
1
2
3
4
5
2.txt
3
4
5
6
7
3.txt
1
3
7
8
9
0
На выходе должно получиться так же три файла, только без дублей с учетом содержимого всех файлов:
1.txt
1
2
3
4
5
2.txt
6
7
3.txt
8
9
0
GreyOFF, Спасибо. Не хочет работать со всеми файлами с учетом содержимого каждого. Выше в эом же сообщении под спойлером пример написал, как нужно.
Отправлено 26 Январь 2019 - 15:17
vorn,
со всех файлов собрал, но только в один сложил,
<?php $dir = scandir("source"); $file = []; for ($i = 2; $i < count($dir); $i++) { $_arr = fopen("source/" .$dir[$i], "r"); array_push($file, file("source/" .$dir[$i])); } $arr = []; $arr = call_user_func_array('array_merge', $file); $arr = array_map('trim', $arr); $arr_str = array_unique($arr, SORT_LOCALE_STRING); $arr_str = implode("\r\n", $arr_str); file_put_contents('result/result.txt', $arr_str);
если еще разобраться где оставлять строки то еще по мудрить можно)
или как вариант распределить строки на равные части между всеми файлами, количество файлов же известно
Сообщение отредактировал кобряныч: 26 Январь 2019 - 23:33
Отправлено 29 Январь 2019 - 22:12
кобряныч, спасибо за написание кода
Поскольку решения поставленной задачи не нашел, сделал проще - скачал триал версию "Penguin Premium Edition", на 14 дней даётся (задача разовая, триала хватило). Удалил им все дубли и разбил как мне нужно. Удалять дубли так как написано в первом посте к сожалению не умеет. В целом прога отличая, тянет тяжелые файлы под 1ГБ. Где бы ломаную эту прогу найти....
GreyOFF, попробовал, хорошая прога, функционал тот же что и у проги выше, но с файлом в 300мб вылетела ошибка. Т.е. только для лёгких файлов.
Отправлено 30 Январь 2019 - 05:45
У Tотал Kомандера по умолчанию есть поиск и удаления одинакового контента и файлов.
Поиск файлов -> Переход во вкладку Дополнительно -> Снизу увидишь поиск Поиск Дубликатов (по имени или по седержимому нужно выбрать) ->
Да че я объясняю, вот ссылка https://wincmd.ru/dublicate_search.php
Название темы | Форум | Автор | Статистика | Последнее сообщение | |
---|---|---|---|---|---|
Продам
Продам Строки, Паспорта, ID Англии, Бразилии, Испании и многих других |
Продажа | Mister_Gold |
|
|
|
Нужна помощь
Как удалить все лайки в вк с постов и тд? |
Софт и скрипты | Shiba |
|
|
|
Ожидаем
как удалить эту тему |
Ожидаем на форуме | slivup_bot |
|
|
|
Ожидаем
Курс испанского языка для продолжающих [Фоксфорд] [Артем Строкин] |
Ожидаем на форуме | slivup_bot |
|
|
|
Ожидаем
Мультикамера в DaVinci Resolve: монтаж материала с нескольких камер [liveclasses] [Дмитрий Ларионов] |
Ожидаем на форуме | slivup_bot |
|
|
0 пользователей, 2 гостей, 0 анонимных