|
51 / 50 / 3
Регистрация: 27.07.2019
Сообщений: 479
|
|
Выбор из большого списка текстовых строк только с разными регистрами09.06.2025, 14:50. Показов 3481. Ответов 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
|
||||||||||||
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,026
|
|||||||||||||||||||||||
| 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
|
|||||||||||||
|
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,026
|
|
| 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-адрес и порт на взятые из списка в текстовом файле и удалить их из этого списка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|