Добрый день!
Есть текстовый файл List.txt примерно на 100 000 строк, примерно следующего содержания
XR001.sdf
XR001.fgft
XR001.sdfsdf
DR01.sdf
DR01.fgtr
C0R1.fgtr
......
Шаблон такой что идет идентификатор, например XR001 потом точка и потом сможет быть что угодно, но важен только идентификатор
Нужно посчитать количество уникальных значений перед точкой.
Понимаю что нужно смотреть с сторону for /f "tokens=1* delims=." %%i in (List.txt) do, но что-то не могу понять как дальше выцепить и посчитать.
Нужно только количество, подскажите пожалуйста!
CMD/BAT - [решено] Поиск уникальных значений по файлу
-
gora
Re: CMD/BAT - [решено] Поиск уникальных значений по файлу
Цитата Sat_Kelman:
посчитать количество уникальных значений
Код:
посчитать количество уникальных значений
CMD/BAT - [решено] Поиск уникальных значений по файлу
Код:
Код: Выделить всё
@Echo Off
For /f "tokens=1* delims=." %%i In (List.txt) Do Set zzzzzzzz%%i=%%i
For /f %%i In ('Set zzzzzzzz') Do Set /A cnt += 1
Echo %cnt%
Pause>Nul-
Iska
Re: CMD/BAT - [решено] Поиск уникальных значений по файлу
Sat_Kelman, наиболее просто задача решается при помощи
Код:
На предложенном Вами образце файла List.txt :
Код:
получаем следующие результаты:
Цитата:
Код:
Log Parser
(Download: Log Parser 2.2 - Microsoft Download Center - Download Details
):Код:
Код: Выделить всё
"C:\Program Files\Log Parser 2.2\LogParser.exe" "SELECT EXTRACT_TOKEN(Text, 0, '.') AS Name, COUNT(Name) FROM 'E:\Песочница\0092\List.txt' GROUP BY Name ORDER BY Name Desc" -i:TEXTLINEНа предложенном Вами образце файла List.txt :
Код:
Код: Выделить всё
XR001.sdf
XR001.fgft
XR001.sdfsdf
DR01.sdf
DR01.fgtr
C0R1.fgtrполучаем следующие результаты:
Цитата:
Код:
Код: Выделить всё
Name COUNT(ALL Name)
----- ---------------
XR001 3
DR01 2
C0R1 1
Statistics:
-----------
Elements processed: 6
Elements output: 3
Execution time: 0.02 seconds