Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Zeilen aus mehreren html Dokumenten auslesen und in neue txt-Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: Thomas68

Thomas68 (Level 1) - Jetzt verbinden

26.10.2009 um 21:57 Uhr, 4124 Aufrufe, 5 Kommentare

Hallo zusammen, ich hoffe jemand kann mir helfen. Probiere schon den ganzen Tag rum, wie man das lösen könnte - mittels Texteditoren etc., aber no way.

Guten Abend ,
sitze schon so lange davor, dass ich bald anfange alles abzutippen. Ich habe etwa 1000 html Dateien, die in etwa alle den gleichen Aufbau haben und uns früher als Datenblätter im Netz gedient haben. Unser Webauftritt basierte nicht auf einer Datenbank, das soll jetzt geändert werden, aber wer will schon alles neu eintippen ?

Nun zum Problem, da alle Dateien in etwa den gleichen Aufbau haben, stehen die Informationen immer nach den gleichen Begriffen, in der, bzw. den darauffolgenden 2 Zeilen. Ich bräuchte also eine bat, die mir alle Dateien nacheinander nach 5 Suchbegriffen durchsucht, um sodann die nächste, bzw. nächsten 2 Zeilen der durchsuchten Datei in einer txt. Datei ausgibt, damit ich daraus unter Excel eine einfache Datenbank erstellen kann.

Sitzte schon den ganzen Tag darüber, habe auch eine bat gefunden hier im Forum, allerdings wird hier das gesuchte Ergebnis bereits durch einen Doppelpunkt vom Suchbegriff getrennt und steht nicht erst in der nächsten Zeile. Vielen Dank, für's Lesen schon mal ...

Gruss
Thomas
Mitglied: 60730
26.10.2009 um 22:37 Uhr
Servus,

drei bitten:

  • welchen der vielen (suchen & ersetzen) Threads hast du denn gefunden?
  • wie sieht eine Beispiel HTML aus?
  • sind das immer die gleichen Suchen?

Mit den Infos kann man dir dann auch gezielt weiterhelfen.

Mehr oder weniger wird es aber auf
  • eine Schleife mir for
  • Findstr /n
herauslaufen.

Gruß
Bitte warten ..
Mitglied: Thomas68
26.10.2009 um 23:15 Uhr
Hallo,

danke für Deine Antwort. Jede html enthält immer gleiche Suchbegriffe.

blablablablabla
balbla
<!-- Typ / Beginn --> - wäre ein zu suchendes Element und den Inhalt der darauffolgenden Zeile bräuchte ich ausgelesen
blabla
blablabla
<!-- Beschreibung / Beginn --> - vväre das nächste zu suchende Element, wieder bräuchte ich den Inhalt der folgenen Zeile ausgelesen
blabla
blabla

So entsteht mittels 5 immer gleicher Suchen ein Datensatz in der neuen txt Datei. So z.b. Typ: ALFA Beschreibung: 4 Zylinder : Hubraum: 2232 etc.
Würde mir schon helfen, wenn ich gezielt alles anhand von Zeilennumern herauslöschen könnte, so dass der rest stehen bliebe und ich die Leerzeilen lösche, versuche das den ganzen tag mit den unterschiedlichsten texteditoren, leider alles ohne nennenswerten Erfolg.

Muss halt alle 1000 Datenblätter so auswerten und in einem File zusammenfassen, damit dieses als Basis für die neue Datenbank dienen kann. Vielen Dank und einen schönen Abend

Gruss
Thomas
Bitte warten ..
Mitglied: maretz
27.10.2009 um 07:18 Uhr
Moin,

kannst du perl (die Script-Sprache)? Damit wäre das ne Sache von wenigen Minuten :

a) Datei in nen Array einlesen
b) Zeile für Zeile durchlaufen lassen und mittels Pattern-Match prüfen ob es sich um einen deiner Schlüsselbegriffe handelt
c) falls ja -> Die Zeile + die darauffolgenden 2 Zeilen in nen neuen Array packen
d) Array ausgeben (entweder per Konsole oder in ne Datei schreiben)

Das ganze dann über alle 1000 Dateien laufen lassen (entweder per Batch und den Dateinamen als Parameter mitgeben oder direkt ins Programm eben reinsetzen das er das für alle Dateien im aktuellen ordner machen soll).

Thema erledigt... Und da es sich dabei wirklich um ein simples Perl-Programm handelt hättest du es selbst ohne Erfahrung in max. 3-4h geschrieben (sofern du irgendeine Programmiersprache kennst und dir somit die Programmierung generell nicht ganz fremd ist). Mit etwas Erfahrung hättest du max. 30 min benötigt..
Bitte warten ..
Mitglied: Thomas68
27.10.2009 um 09:15 Uhr
Guten morgen,
danke für den Tipp, dass man mit einer Programmiersprache ein spezielles Programm schreiben kann. No have is no have ....

Muss auch mit einer bat gehen, da die Werte immer in den gleichen Zeilen stehen. Habe mich an einem batch hier aus dem Formum versucht, aber alles was es macht, ist die Ergebnis.txt zu löschen, fallls man sie vorher anlegt.

Wollte eigentlich die Zeile 37 auslesen, die letzte zeile hätte er zu Testzwecken auch gelesen :

@echo off & setlocal
set "Erg=C:\Ergebnis.txt"
set "Ordner=C:\XXX_DATEN\AKTUELL\"

if exist "%Erg%" del "%Erg%"
for %%i in ("%Ordner%\*.txt") do call :ProcessFile "%%i"
goto :eof

:ProcessFile
set /p Zeile1=<%37
for /f "usebackq delims=" %%a in (%1) do set "ZeileN=%%a"
>>"%Erg%" echo %Zeile1%_%ZeileN%
goto :eof

Naja, wird schon noch. Muss jetzt erst mal den gestrigen Tag nachholen. Wer braucht schon eine Website, die auf Datenbank basiert ....
Bitte warten ..
Mitglied: 76109
27.10.2009 um 09:22 Uhr
Hallo zusammen!

Noch wesentlich einfacher, ließe sich das Ganze per VB-Script direkt in eine Excel-Datei schreiben. Aber mit ner blablabla und etc.-Beschreibung, kann ich leider nix anfangen. Von daher bleibt wohl nur der manuelle und mühsame Weg über den Text-Editor

Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Webentwicklung
HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...