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
GELÖST

(Bash) mehrere htm-Dateien nach Muster durchsuchen - Ergebnis in Liste speichern

Frage Entwicklung Batch & Shell

Mitglied: curmudgeon

curmudgeon (Level 1) - Jetzt verbinden

21.07.2010 um 13:29 Uhr, 5950 Aufrufe, 5 Kommentare

Guten Tag Community! Ich würde mich sehr über ein wenig Hilfe bei meinem Problem freuen.

In einem Ordner befinden sich mehrere 100 .htm Dateien.

Diese enthalten ordnungsgemäß immer mal wieder den String:
"<li class="xyz"><a id="

Jetzt kommen da immer wieder einige hinzu/werden geändert und es kann passieren, dass sie sich so lesen:
"<li class="xyz">TEXT"

Ich bräuchte also ein Batch Skript (Windows XP/7), dass die .htm Dateien ausliest und nach dem Muster "<li class="xyz">" sucht und überprüft, ob es danach mit einem "<" weitergeht. Ist dies nicht der Fall, müsste der Dateiname in eine Liste, quasi eine Überprüfungsliste.

Leider bin ich in Batch absolut neu und würde mich sehr sehr freuen, falls mir hier jemand einen Code-Anstoß geben könnte.

Schonmal vielen Dank und viele Grüße
Mitglied: micneu
21.07.2010 um 13:43 Uhr
kann es auch mit tools aus der linux welt gehen?
grep -r "\<li class=\"xyz\"\>.*\<" *.htm

so oder ähnlich das sollte dir alles finden was diesen string hat und den datei namen und die zeile anzeigen.
Bitte warten ..
Mitglied: curmudgeon
21.07.2010 um 13:52 Uhr
Hallo micneu.

Leider muss ich auf alles aus dem Linux-Werkzeugkasten verzichten.

Trotzdem, danke dir sehr!
Bitte warten ..
Mitglied: LotPings
21.07.2010 um 15:08 Uhr
Dann versuche mal:
findstr /S /I "\<li.class=\"xyz\"\>[^<]" *.htm
Gruß
LotPings
Bitte warten ..
Mitglied: curmudgeon
22.07.2010 um 12:05 Uhr
Vielen vielen Dank LotPings, damit konnte ich das Problem lösen!

Nun werde ich mir die Syntax noch genau anschauen, dass ich nicht nur kopiere sondern das nächste Mal so etwas schon selbst hinbekomme.

Viele Grüße
Bitte warten ..
Mitglied: LotPings
22.07.2010 um 13:03 Uhr
Prima, dann hier noch ein paar Erläuterungen:
  • Findstr arbeitet standardmäßig im RegEx Modus, das Leerzeichen zwischen li und class habe ich deshalb gegen einen Punkt (=beliebiges Zeichen) ausgetauscht da sonst 2 unabhängige mit oder verknüpfte Suchbegriffe angenommen würden.
  • /S = Rekursiv
  • /i = ignoriere Gross-/Kleinschreibung
  • Der Backslash dient zum Escapen der Sonderfunktion von < (=Wortanfang) , " (=Ende des Suchbegriffs)
  • Die eckigen Klammern stellen eine Klasse von Zeichen dar, das erste Zeichen ^ negiert die Klasse, [^<] bedeutet also alle Zeichen die NICHT "<" sind.

Gruß
LotPings
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
XML nach Liste mit Werten durchsuchen (12)

Frage von bocker zum Thema Batch & Shell ...

Batch & Shell
gelöst Nach Muster von Dateien, diese hochzählen (12)

Frage von Erik72 zum Thema Batch & Shell ...

Batch & Shell
CSV nach CSV durchsuchen und speichern (6)

Frage von jocheng zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...