|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Поиск дубликатов |
|
|
Любой язык - [решено] Поиск дубликатов
|
Новый участник Сообщения: 23 |
Профиль | Отправить PM | Цитировать Привет, всем.
Вот упрощённый вид задачи: в списке из ~10 000 строк (6,7-значные числа) найти повторяющиеся значения - дубликаты. Решаема ли такая задача силами CMD\BAT, VBS скриптов или это уже из сферы БД, Excel-я? |
|
Отправлено: 14:29, 03-06-2012 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Baranius, попробуйте вот это.
@Echo Off Set File=test.txt rem Разбираем файл построчно For /F "usebackq delims=" %%S In ("%File%") Do ( rem Проводим в нём же поиск по отдельно взятой строке и получаем количество совпадений For /F "tokens=3 delims=: " %%C In ('Find /C "%%S" "%File%"') Do ( rem Сортируем строки по разным спискам If "%%C"=="1" ( Echo %%S>>"checked.txt" ) Else ( Echo %%S>>"duplicated.txt" ) ) ) Впрочем, для вашей задачи (поиск дубликатов песен по их длительности) это особой роли не играет, вероятность совпадения из-за такого поведения Find крайне ничтожна. |
Последний раз редактировалось Anonymоus, 04-06-2012 в 15:48. Отправлено: 16:01, 03-06-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Baranius:
|
|
Отправлено: 22:54, 03-06-2012 | #3 |
Новый участник Сообщения: 23
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 01:42, 04-06-2012 | #4 |
Новый участник Сообщения: 23
|
Профиль | Отправить PM | Цитировать Уважаемый Anonymоus, я рад Вас видеть в этой теме, которая навеяна нашим неравноправным общением по вопросу... "как не потерять старый плейлист после наведения порядка на диске" И чтобы не настаивать на
мне подумалось, что легче, для начала, избавиться от дубликатов, а потом уж приводить в порядок старый плейлист. Поэтому и появилась эта тема (я постеснялся вновь обращаться к Вам, к тому же правила форума - "один вопрос - одна тема") |
|
Отправлено: 03:55, 04-06-2012 | #5 |
Новый участник Сообщения: 23
|
Профиль | Отправить PM | Цитировать Спасибо, Anonymоus! Всё чудесно работает (взял только один столбец с длительностью и представил его как "test.txt"). Но вот с этим:
Цитата Anonymоus:
|
|
Отправлено: 15:01, 04-06-2012 | #6 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Просто положите файл рядом со скриптом, и там, где указано "Set File=test.txt" - поставьте своё имя файла. Это и есть относительный путь, в отличии от абсолютного, когда путь полный, и начинается с указания диска.
|
Отправлено: 15:47, 04-06-2012 | #7 |
Новый участник Сообщения: 23
|
Профиль | Отправить PM | Цитировать Я имел в виду другое, как теперь с помощью Вашего скрипта обнаружить дубликаты в моём списке состоящим из трёх столбцов-полей
"1|путь к файлу|длительность" ? Ведь Ваш скрипт я проверял на списке , состоящем только из одного столбца - "длительность" |
Отправлено: 16:37, 04-06-2012 | #8 |
Новый участник Сообщения: 23
|
Профиль | Отправить PM | Цитировать Попробую ещё раз обратиться.
Ув. Anonymоus не сможете ли Вы подправить свой скрипт из 2 поста под список "test.txt" не с одним полем - "длительность", а с тремя полями вида: "1|путь к файлу|длительность", чтобы я смог в результате увидеть дубликаты уже с их путями. Благодарю. |
Отправлено: 13:50, 05-06-2012 | #9 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать @Echo Off Set File=test.txt rem Разбираем файл построчно For /F "usebackq delims=" %%S In ("%File%") Do ( rem Выделяем из строки длительность For /F "tokens=3 delims=^|" %%L In ("%%S") Do ( rem Проводим поиск по файлу в поисках такой же длительности For /F "tokens=3 delims=: " %%C In ('Find /C "|%%L" "%File%"') Do ( rem Раскидываем строки по разным спискам If "%%C"=="1" ( Echo %%S>>"checked.txt" ) Else ( Echo %%S>>"duplicated.txt" ) ) ) ) |
Отправлено: 19:17, 05-06-2012 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Система - Программы для поиска и удаления дубликатов файлов | Alex Cop | Программное обеспечение Windows | 61 | 07-01-2018 12:00 | |
Графика - [addons] Программы для поиска дубликатов изображений | pahan22 | Наборы обновлений для Windows XP/2003/Windows 7 | 7 | 12-04-2011 19:52 | |
CMD/BAT - Удаление дубликатов при копировании | Seryoga204 | Скриптовые языки администрирования Windows | 1 | 22-08-2010 17:01 | |
Ищу программу для поиска файлов дубликатов | VbInt | Хочу все знать | 10 | 20-10-2009 10:54 | |
Чем можно воспользоваться для поиска дубликатов файлов. | Igor_I | Программное обеспечение Linux и FreeBSD | 13 | 06-10-2008 21:19 |
|