Показать полную графическую версию : [решено] Вывести список слов из текстового файла
Cypp0raT
20-11-2012, 21:21
Требуется написать bat-ник, выводящий список слов из текстового файла с числом их вхождений.
Сам только начинаю пытаться разбираться в этом, но пока все печально. Далеко в решении не ушел.
set mfile=C:\CMDTest\d.txt
set str=""
for /f "tokens=*" %%i in ('type %mfile%') do (
set str=%%i
for /f "tokens=1*" %%j in ("%%i") do (
find /i /c "%%j" "%mfile%"
)
)
Cypp0raT, задача для пакетных файлов, прямо скажем, не тривиальная. Зачем сие нужно?
Cypp0raT
21-11-2012, 14:15
Iska, скажем так, чтобы облегчить себе дальнейшую участь.
Cypp0raT, облегчать участь проще и надёжнее в рамках WSH или PoSH. Например:
Option Explicit
Dim objDictionary
Dim elem
Set objDictionary = WScript.CreateObject("Scripting.Dictionary")
With WScript.CreateObject("Scripting.FileSystemObject").OpenTextFile("E:\Песочница\0206\0001.txt")
Do Until .AtEndOfStream
For Each elem In Split(.ReadLine())
If Not objDictionary.Exists(elem) Then
objDictionary.Add elem, 1
Else
objDictionary.Item(elem) = objDictionary.Item(elem) + 1
End If
Next
Loop
.Close
End With
For Each elem In objDictionary.Keys
WScript.Echo elem, objDictionary.Item(elem)
Next
objDictionary.RemoveAll
Set objDictionary = Nothing
WScript.Quit 0
Cypp0raT, может здесь что почерпнёте
[решено] Разработать программу которая будет считать кол-во символов,строк,слов в .txt (http://forum.oszone.net/thread-175606.html)
Cypp0raT
21-11-2012, 17:17
Iska, само собой через "прямой" язык это сделать легче. Но мне требуется именно на cmd...
Ладно, проблему решил сам. Правда через заднюю мысль, но сойдет.
Тогда такой подвопрос, как мне вывести этот список без повтора одинаковых слов?
dog 8
head 4
dog 8
man 12
woman 4
head 4
Т.е. вывод должен получиться примерно таким:
dog 8
head 4
man 12
woman 4
Подсказка: если несколько раз написать set Var=Value, переменная останется всё равно одна.
Вам нужно из полученного добиться в итоге примерно такого варианта исполнения:
set sWordsdog=8
set sWordshead=4
set sWordsdog=8
set sWordsman=12
set sWordswoman=4
set sWordshead=4
set sWords
Думайте.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.