Top-Themen

Aktuelle Themen (A bis Z)

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 Batch - HTML tags entfernen

Mitglied: Peterle123

Peterle123 (Level 1) - Jetzt verbinden

24.09.2008, aktualisiert 25.09.2008, 5447 Aufrufe, 2 Kommentare

Hallo Leute.

Habe nach dem Lesen unzähliger Beiträge und durch viel Probieren aus nahezu unlesbarem Unicode-Buchstabensalat in einer Log-Datei folgenden halbwegs lesbaren Text extrahiert:

01.
<bold>Incremental Backup</bold><endl/><tabpoint value=30><indent value=4>From: <indent value=10><textcolor value=navyblue>Drive F</textcolor></indent><indent value=4><endl/>To file: <indent value=10><textcolor value=navyblue>Y:\Backupfile.dat</textcolor></indent><indent value=4><endl/>Speed: <indent value=10><textcolor value=navyblue>Normal</textcolor></indent><indent value=4><endl/></indent> /> 
02.
Backup Part 1 of 2<endl/><tabpoint value=30><bold>Creating Structure<endl/></bold><indent value=4>Hard disk: <indent value=10>2</indent><indent value=4><endl/>Drive letter: <indent value=10>F:</indent><indent value=4><endl/>File system: <indent value=10>NTFS</indent><indent value=4><endl/>Volume label: <indent value=10>BACKUP</indent><indent value=4><endl/>Size: <indent value=10>372,6 GB</indent><indent value=4><endl/></tabpoint></indent> /> 
03.
Backup Part 2 of 2<endl/><tabpoint value=30><bold>Saving structure<endl/></bold><indent value=4>Hard disk: <indent value=10>2</indent><indent value=4><endl/></indent> /> 
04.
Backup has succeeded. /> 
05.
ECHO ist eingeschaltet (ON).
nun hab ich ziemlich lange herumprobiert und kriege es einfach nicht hin, die html-tags zu entfernen (und im Anschluss das alles so zu formatieren), so dass folgender Text entsteht:

01.
Incremental Backup 
02.
From: Drive F 
03.
To File: Y:\Backupfile.dat 
04.
Speed: Normal 
05.
 
06.
Backup Part 1 of 2 
07.
Creating Structure 
08.
Hard disk: 2 
09.
Drive letter: F: 
10.
File system: NTFS 
11.
Volume label: BACKUP 
12.
Size: 372,6 GB 
13.
 
14.
Backup Part 2 of 2 
15.
Saving structure 
16.
Hard disk: 2 
17.
 
18.
Backup has succeeded.

Kann jemand helfen? Wär echt ne unglaubliche Erleichterung.

Wenn möglich, würde ich den Umgang mit sed vermeiden wollen, damit das Script portabel bleibt und auch auf Systemen ohne installiertem sed lauffähig ist.

Danke schon mal!!
Mitglied: bastla
24.09.2008 um 22:08 Uhr
Hallo Peterle123 und willkommen im Forum!

Batch und HTML-Tags ist (wegen "<" und ">", die ja in Batch als Umleitungszeichen eine besondere Bedeutung haben), ohnehin schon eine Sache für sich - Ersetzungen (bzw Entfernungen ), die innerhalb einer Zeile durgeführt werden sollen, machen es dann nicht einfacher ...

Konsequenz daraus: Wenn schon kein externes Tool wie "sed", dann zumindest eine Sprache verwenden, mit der Stringbearbeitung vergleichsweise schmerzlos funktioniert, nämlich VBScript. Damit das Ganze aber portabel (und das möglichst komfortabel) bleibt, bietet es sich an, das Script durch den Batch erzeugen (und wieder entfernen) zu lassen.

Soferne also VBScript zur Verfügung steht, sollte der folgende Batch aus dem Log (in Unicode) ein einigermaßen lesbares Ergebnis erzeugen:
01.
@echo off & setlocal 
02.
set "In=Z:\Log_Unicode.txt" 
03.
set "T=%temp%\Log_ASCII.txt" 
04.
set "Out=Z:\L.txt" 
05.
 
06.
type "%In%">%T% 
07.
set R=%temp%\RemoveTags.vbs 
08.
>%R%  echo Inhalt=CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0)).ReadAll 
09.
>>%R% echo Zeilen=Split(Replace(Replace(Replace(Inhalt," />",""),"<",vbCrLF^&"<"),">",">"^&vbCrLF),vbCrLF):Inhalt="":For i=0 To UBound(Zeilen) 
10.
>>%R% echo If InStr(Zeilen(i),"<")+InStr(Zeilen(i),">")=0 Then If Trim(Zeilen(i))^<^>"" Then Inhalt=Inhalt^&^vbCrLF^&^Trim(Zeilen(i)) 
11.
>>%R% echo Next:WScript.Echo Replace(Mid(Inhalt,3),":"^& vbCrLF,": ") 
12.
 
13.
cscript //nologo %R% %T%|findstr /v /c:"ECHO ist eingeschaltet (ON)">"%Out%"  
14.
del %R% 
15.
del %T%
Das enthaltene VBScript ist etwas knapp formuliert, daher eine kurze Erklärung der Vorgangsweise:

Es wird zunächst die gesamte Datei (nachdem sie per "type" aus Unicode in ASCII/ANSI umgewandelt wurde - diesen Schritt habe ich nicht getestet, sollte aber funktionieren) in einen String eingelesen, in welchem folgende Änderungen vorgenommen werden:
  • Alle " />" werden entfernt
  • Alle "<" werden zu Zeilenschaltung + "<" umgewandelt
  • Alle ">" werden zu ">" + Zeilenschaltung umgewandelt
Durch die letzten beiden Vorgänge sollten alle Tags in eigenen Zeilen stehen.

Als nächstes wird der Gesamtstring in einzelne Zeilen aufgeteilt. Von diesen Zeilen werden alle verworfen, welche "<" oder ">" enthalten oder (bis auf Leerzeichen) leer sind.

Die verbleibenden Zeilen werden wieder zu einem String kombiniert, in welche als letzte Anpassung jede Zeile, welche mit ":" endet, mit der folgenden Zeile, getrennt durch ein Leerzeichen, verbunden wird (was zum kleinen Schönheitsfehler führt, dass die Zeilen 9 und 10 Deines Beispieles oben - wegen des "F:" am Ende der Zeile 9 - ebenfalls zusammengefasst werden).

Das Ergebnis wird an den Batch zurückgeliefert und dort (vor dem Schreiben in die Ausgabedatei) per Filterung noch von der Zeile "ECHO ist eingeschaltet (ON)." befreit.
Noch eine Anmerkung: Sinnvoller fände ich es, an der Quelle anzusetzen und gleich ein vernünftiges Log erzeugen zu lassen ...

Grüße
bastla
Bitte warten ..
Mitglied: Peterle123
25.09.2008 um 14:23 Uhr
Hallo bastla!

Klasse! Nicht nur eine schnelle und einfache, sondern auch portable Lösung!

vielen Dank!
Bitte warten ..
Ähnliche Inhalte
Ubuntu

Bash-Script um aus einer Textdatei alle HTML-Tags zu entfernen. Hilfe!

gelöst Frage von takitanoUbuntu4 Kommentare

Hall an alle, ich habe eine Textdatei (LF, Win-1252), die wie folgt aussieht: Dort will ich alle HTM-Tags entfernen. ...

HTML

Eigene HTML Tags

gelöst Frage von deinernstjetztHTML11 Kommentare

Hallo, ich möchte gerne umständliche HTML Tags vereinfachen. Ich meine das so, das ich zb. <gelb> in den Quellcode ...

Batch & Shell

Batch dir und Html Link ausgabe

gelöst Frage von Pilger83Batch & Shell7 Kommentare

Hallo zusammen, folgendes Problem, ich möchte eine Batch mit folgender function dir Ordner plus Unterordner durchsuchen ausgabe ohne Kopfzeile ...

Batch & Shell

HTML in Batch und Powershell

Frage von michi-ffmBatch & Shell11 Kommentare

Hallo zusammen, zunächst nochmals vielen Dank für eure Unterstützungen!!!! Ich bin momentan dabei, mich in Batch und Powershell einzulesen ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL13 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs10 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)8 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...