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, 5918 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Outlook & Mail
Outlook 2010 zeigt Übermittlungsfehler und erstellt mehrere PST-Dateien

Frage von thepatsch zum Thema Outlook & Mail ...

Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

VB for Applications
gelöst Mehrere CSV Dateien aus verschiedenen Ordner einlesen via VBA (12)

Frage von mtufangil zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...