View previous topic :: View next topic |
Author |
Message |
qwerty
Joined: 26 May 2009 Posts: 22
|
(Separately) Posted: Mon Jan 14, 2013 14:00 Post subject: Поиск и удаление строк из файла |
|
|
Есть два txt файла. В первом пару тысяч строк, во втором тысяча строк.
Задача - взять первую строку из второго файла и найти ее в первом файле.
Если нашли, то удалить эту строку из первого файла, далее берем следующую строку из второго файла и опять ищем ее в первом файле.
Если не нашли, то берем следующую строку из второго файла и ищем ее в первом файле.
Т.е. надо все строки из второго файла попытаться найти в первом файле и в случае успеха удалить их оттуда.
Помню как-то требовалось такое, но не помню как решалось. ВРоде тотал коммандером и решалось, однако не помню как.
Подскажите как эту задачу решить. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1168 Location: Донецк
|
|
Back to top |
|
|
qwerty
Joined: 26 May 2009 Posts: 22
|
(Separately) Posted: Mon Jan 14, 2013 15:53 Post subject: |
|
|
LonerD wrote: | qwerty
TextCrawler |
Что-то там нет поиска из файла. ?
Добавлено спустя 16 минут:
Сделал с помощью пакета.
LonerD спасибо, очень полезная программка ) |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 15, 2013 19:31 Post subject: |
|
|
qwerty
Таких программ со списками несколько. Что за пакет?
Code: | ' Удалить в файле строки, взятые из другого файла
' Параметры: "<путь к файлу со списком для чтения>" "<Путь к редактируемому файлу>"
'==================================================================================
With WScript.Arguments
If .Count < 2 Then
WScript.Echo "Не указаны все параметры!" : WSCript.Quit
End If : RList = .Item(0) : WList = .Item(1)
End With
With CreateObject("Scripting.FileSystemObject")
Set File = .GetFile(WList) : Text = File.OpenAsTextStream(1, -2).ReadAll
For Each F in Split(.GetFile(RList).OpenAsTextStream(1, -2).ReadAll, vbNewLine)
If Trim(F) <> "" Then
Text = Replace(Text, F & vbNewLine, "") : Text = Replace(Text, vbNewLine & F, "")
End If
Next : File.OpenAsTextStream(2, -2).Write Text : Set File = Nothing
End With : WScript.Quit |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
|