Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Работа с текстом (сравнить строки в файле)

Ответить
Настройки темы
[решено] Работа с текстом (сравнить строки в файле)

Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Возможно вопрос покажется лёгким, но я не имею ни какова опыта с функциями обработки текста... ='(

Имеется вот такой текст в txt файле:
Код: Выделить весь код
16:28:50   10.02.2010   188.17.248.182
16:53:43   10.02.2010   94.50.29.247
17:06:42   10.02.2010   188.17.247.185
17:38:12   10.02.2010   94.51.38.162
18:37:05   10.02.2010   188.17.236.44
18:52:17   10.02.2010   188.19.39.189
20:28:26   10.02.2010   94.50.21.39
20:47:19   10.02.2010   94.51.8.29
21:56:44   10.02.2010   94.50.20.178
22:05:33   10.02.2010   188.17.216.4
22:41:42   10.02.2010   88.205.187.204
00:14:43   11.02.2010   188.19.36.242
07:29:22   11.02.2010   90.151.234.113
07:42:37   11.02.2010   94.51.71.82
Задача. Нужно сравнить все IP адреса, и если будут одинаковые - отделить их как-нибудь, например записать в другой txt файл.

Вот у меня решение этой задачи встало на отделении первых 24 символов в строках (время и дата).
От одой строчки то я научился отделять, а вот если этих строк больше одной - то ступор.

-------
Ну вы ребята даёте...


Отправлено: 15:59, 11-02-2010

 

Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


gregaz, и о чем мне это должно сказать?

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 23:13, 11-02-2010 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для gregaz

Пользователь


Сообщения: 88
Благодарности: 19

Профиль | Отправить PM | Цитировать


Цитата kaster:
gregaz, и о чем мне это должно сказать? »
Насколько я понял у вас не шла запись в файлыю

Отправлено: 23:17, 11-02-2010 | #12


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Но у меня же пишет все в файлы именно так:
Код: Выделить весь код
$sPathOne = @ScriptDir & '\ОригинальныеIP.txt'
$sPathNoOne = @ScriptDir & '\ПовторяющиесяIP.txt'
...
FileOpen($sPathOne, 2)
FileOpen($sPathNoOne, 2)
...
FileWriteLine($sPathOne, $s_StringIP)
...
FileWriteLine($sPathNoOne, $s_StringIP)
Я никак не могу понять почему у Вас не пишет. Мистика какая-то.

Отправлено: 23:49, 11-02-2010 | #13


Аватара для gregaz

Пользователь


Сообщения: 88
Благодарности: 19

Профиль | Отправить PM | Цитировать


У меня не писало ,после измения записало ???

Отправлено: 00:15, 12-02-2010 | #14


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Если и так писать не будет, то я не знаю что делать.
Код: Выделить весь код
#include <file.au3>
#include <Array.au3>

Dim $a_StringOne[1], $a_StringNoOne[1], $a_String
$sPathOld = @ScriptDir & '\log.txt'
$sPathOne = @ScriptDir & '\ОригинальныеIP.txt'
$sPathNoOne = @ScriptDir & '\ПовторяющиесяIP.txt'
FileOpen($sPathOld, 0)
_FileReadToArray($sPathOld, $a_String)

For $i = 1 To UBound($a_String) - 1
    $s_StringIP = StringMid($a_String[$i], StringInStr(StringStripWS($a_String[$i], 2), _
            " ", 1, -1) + 1, StringLen($a_String[$i]))
    _ArraySearch($a_StringOne, $s_StringIP)
    If @error = 6 Then
        _ArrayAdd($a_StringOne, $s_StringIP)
    Else
        _ArraySearch($a_StringNoOne, $s_StringIP)
        If @error = 6 Then
            _ArrayAdd($a_StringNoOne, $s_StringIP)
        EndIf
    EndIf
Next
$vIP_One = UBound($a_StringOne) - 1
$vIP_NoOne = UBound($a_StringNoOne) - 1

MsgBox(0, "", "Оригинальных IP: " & $vIP_One & @CRLF & "Повторяющихся IP: " & $vIP_NoOne)
FileOpen($sPathOne, 2)
FileOpen($sPathNoOne, 2)
_FileWriteFromArray($sPathOne, $a_StringOne, 1)
_FileWriteFromArray($sPathNoOne, $a_StringNoOne, 1)
_ArrayDisplay($a_StringOne, "Только оригинальные IP")
_ArrayDisplay($a_StringNoOne, "Эти IP повторяются")

Последний раз редактировалось madmasles, 13-02-2010 в 18:39.


Отправлено: 18:21, 13-02-2010 | #15


Аватара для gregaz

Пользователь


Сообщения: 88
Благодарности: 19

Профиль | Отправить PM | Цитировать


Цитата madmasles:
Если и так писать не будет, то я не знаю что делать. »
У меня продолжает не писать.
Если изменить -то пишет.
Возможно это зависит от версии AutoIt ? ( У меня 3.3.4) - У тебя вроде 3.3.2 ( В 3.3.3 Уже вносились изменения в FileOpen().)

P.S.
Причем если писать вообще без предварительного открытия (FileOpen($sPathOne, 2),
прерасно пишет.

Такое впечатление , что такая запись (FileOpen($sPathOne, 2) уже заняла файл ,
и не позволяет туда писать через путь к файлу только через Хэндли открытия файла.

Последний раз редактировалось gregaz, 13-02-2010 в 22:52. Причина: Добавление


Отправлено: 22:23, 13-02-2010 | #16


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


gregaz,
Я на эту тему задал вопрос здесь: http://autoit-script.ru/index.php?to...;topicseen#new

Отправлено: 00:45, 14-02-2010 | #17



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Работа с текстом (сравнить строки в файле)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как в файле изменить определённые строки? NewOLDi AutoIt 11 05-02-2010 00:09
[решено] PHP|Работа с текстом morgan1991 Вебмастеру 1 14-12-2009 23:57
программа, с помошью кот. можно сверить текст на картинке с текстом в текстовом файле scissors Программное обеспечение Windows 1 03-10-2007 22:43
[решено] Работа из командной строки | Убрать все пробелы в текстовом файле Greyman Хочу все знать 11 17-06-2007 22:44
HELP!!! Работа с текстом в cmd. Hat Хочу все знать 3 03-02-2006 11:42




 
Переход