mehrere Textdateien nach String durchsuchen und Funde in neue Datei kopieren
-
- [ gelöst ]
-
vel2000 -
15. Mai 2011 um 10:47 -
Geschlossen -
Erledigt
-
-
Zuerst liest du alle Dateien ein, und packst ihren Inhalt in eine Variable. Dann durchsuchst du diese Variable mit StringRegExp, aber verwende die Flag 3 um alle Ergebnisse in ein Array zu speichern. Danach schreibst du das ganze mit _FileWriteFromArray in eine Datei.
Außerdem wäre dieses RegEx Pattern wohl eher geeignet... -
Zitat
Zuerst liest du alle Dateien ein, und packst ihren Inhalt in eine Variable. Dann durchsuchst du diese Variable mit StringRegExp, aber verwende die Flag 3 um alle Ergebnisse in ein Array zu speichern. Danach schreibst du das ganze mit _FileWriteFromArray in eine Datei.
thanks für die Antwort, aber gibts da irgendwo ein Beispiel?
Ich bin jetzt nicht sooo der Crack. -
Bitteschön.
Beispiel
[autoit]#include <File.au3>
[/autoit] [autoit][/autoit] [autoit]$sString = FileRead(@ScriptDir & "\Test1.txt") ;Datei 1
[/autoit] [autoit][/autoit] [autoit]
$sString &= FileRead(@ScriptDir & "\Test2.txt") ;Datei 2
$sString &= FileRead(@ScriptDir & "\Test3.txt") ;Datei 3$sPattern = '((?:http://|ftp://|shttp://)?(?:www\.)?.+?\.(?:de|com|org|net)(?:/\S*)?)' ;Pattern um URLs herauszufiltern.
[/autoit] [autoit][/autoit] [autoit]$aURL = StringRegExp($sString, $sPattern, 3)
[/autoit]
_FileWriteFromArray(@ScriptDir & "\URL.txt", $aURL) ;Array in die Zieldatei schreiben. -
Hmm, das funktioniert bei mir nicht...
[autoit]
Mein Script sieht folgendermaßen aus.#include <Array.au3> ;Only for _ArrayDisplay
[/autoit][autoit][/autoit][autoit]
#include <File.au3>$s_String = FileRead("c:\zats\a.txt")
[/autoit]
$s_String &= FileRead("c:\zats\b.txt")
$s_String &= FileRead("c:\zats\c.txt")
$sPattern = '((?:http://|ftp://|shttp://)?(?:www\.)?.+?\.(?:de|com|org|net)(?:/\S*)?)'
$aURL = StringRegExp($sString, $sPattern, 3)
;_ArrayDisplay($aURL)
und das ergibt folgende Fehlermeldung:
und -
Das liegt daran, dass du aus irgendeinem mir nicht ersichtlichen Grund zwischen $s und String ein "_" eingefügt hast, aber bei der Variable in dem Aufruf der StringRegExp Funktion nicht...
-
Du hast vollkommen Recht, "copy and paste" und nicht aufgepasst halt...
Es funktioniert jetzt prima
vielen Dank für deine Hilfe