|
51 / 50 / 3
Регистрация: 27.07.2019
Сообщений: 479
|
|
Выбор из большого списка текстовых строк только с разными регистрами09.06.2025, 14:50. Показов 3500. Ответов 28
Метки нет (Все метки)
Уважаемые форумчане, добрый день!
Очень нужна помощь в совсем непраздном вопросе (разрабы кассового ПО забыли про сканеры штрих-кодов, если они на cbd, то чувствительны к клавише caps lock и теперь надо найти все ошибки марок, которые не выбыли и-за замены регистра): есть много файлов со строками, в которых много повторяющихся данных, но, среди них иногда могут попадаться такие же, но с инвертированными регистрами, примерно так: 01046100177028712100CN8IGD5VTE8 01046100177028712100ZAE8TSVCZUY 01046100177028712100DB6J1634PCB 01046100177028712100ZAE9TFGJKNE 01046100177028712100ZAE9TFGJKNE 01046100177028712100ZAE9TFGJKNE 01046100177028712100zae9tfgjkne Вот как раз нижняя строка показывает то, что надо найти. Сама проблема, найти в файлах повторения с разными регистрами и как то их выкинуть в отдельный файл, либо удалить не повторяющиеся с различным регистром данные. Т.е. в итоге должно остаться: 01046100177028712100ZAE9TFGJKNE 01046100177028712100zae9tfgjkne Во вложенеии файл с маленькой выборкой, в нём я с ходу нашел (визуально): 01046100177028712100ZAE9TFGJKNE 01046100177028712100zae9tfgjkne 01046100177028712100ydzg14b69n2 01046100177028712100YDZG14B69N2 010366558500391321TWD8NC2MX5ND1 010366558500391321twd8nc2mx5nd1 05.txt
0
|
|
| 09.06.2025, 14:50 | |
|
Ответы с готовыми решениями:
28
|
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
||||||||||||
| 14.06.2025, 11:06 | ||||||||||||
![]() Кстати, powershell-то тоже не лыком шит если использовать все доступные возможности (например, аналог множеств с уникальными значениями), он будет не менее скорострельным:
0
|
||||||||||||
|
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,047
|
|||||||||||||||||||||||
| 15.06.2025, 12:53 | |||||||||||||||||||||||
|
Маленькая утилита sqlite3 против мегатонн кода powershell + .Net. И кто тут пушка ? Добавлено через 1 час 12 минут Генератор миллиона строк обсуждаемого вида: gen.1e6.lines.pl
======================================== =============== установка perl
0
|
|||||||||||||||||||||||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||||||||||||
| 15.06.2025, 13:23 | |||||||||||||
|
А и да, типа: .Net - мальчик-с-пальчик, что ли? ![]() Не в этом же дело... SQL для таких задач надо изучать ещё, потом скачать из неведомого леса-чего-то-там-скомпилированного именно то, что требуется. А ещё, не всегда есть возможность устанавливать утилиты по соображениям безопасности... ну, да ладно, это вообще к делу не относится, тема совсем другого разговора. Да и здесь - это же оффтоп... Давай проверять, в одинаковых условиях, у меня сейчас под рукой ноут, настрогал файлик из 9 лямов строк (для надежности) Проверяем: ProductName : SQLite ProductVersion : 3.50.1 Powershell : 7.5.0
0
|
|||||||||||||
|
Нарушитель
7097 / 2328 / 353
Регистрация: 10.12.2013
Сообщений: 8,047
|
|
| 16.06.2025, 13:20 | |
|
powershell 7.4.7
картина, как уже говорил, обратная, то есть, 5:0 в пользу аргентины: на файле в миллион строк, подготовленным с помощью скрипта perl выше, powershell 30sec, sqlite 6 sec. RAM 8Gb Сейчас поставлю 7.5, если ямайка улучшится, значит они доработали-таки cmdlet group-object Добавлено через 5 минут PS: следует заменить в SQL on conflict replace на on conflict ignore, слегка быстрее будет (не теряется время на перезапись дубликатов)
0
|
|
|
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
|
|||||||||||
| 16.06.2025, 16:34 | |||||||||||
|
farmsnab, добрый! На всякий случай ещё вариант:
P.S. Для очень больших объёмов данных (как, например, 9 млн. строк у YuS_2) можно использовать такой вариант:
2
|
|||||||||||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||||||
| 16.06.2025, 19:17 | |||||||
|
Комп немного пошустрее, чем тот ноут, но файл с данными тот же (9млн. строк, наструганных копированием исходных данных плюс добавлено несколько измененных разнорегистровых копий):
ЗЫ памяти 16Гб, что на ноуте, что на этом компе... файл: 05_full.zip
0
|
|||||||
|
|
||||||
| 16.06.2025, 20:08 | ||||||
Добавлено через 4 минуты Думаю для оптимального результата важна статистика самих данных, количество различающихся строк например.
0
|
||||||
|
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
|
|||||||||||||
| 17.06.2025, 11:50 | |||||||||||||
2
|
|||||||||||||
|
Любознательный
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 17.06.2025, 19:57 | ||
|
Но да, это самый быстрый вариант, у меня TotalMilliseconds : 774,4806
0
|
||
| 17.06.2025, 19:57 | |
|
Для всех файлов, кроме текстовых, установить атрибут "Только для чтения", а для текстовых — атрибут "Архивный"
Поменять IP-адрес и порт на взятые из списка в текстовом файле и удалить их из этого списка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|