ironhead-hayns
Goto Top

Zeilenumbruch via Batch in eine Txtdatei einbauen

Hallo zusammen,
ich bräuchte mal wieder einen Tipp!
Ich bekomme von einem Externem eine Datei geliefert, diese beinhaltet eine Zeile mit über 100.000 Zeichen. Eigentlich sollte in der Datei immer nach "</html>" ein Zeilenumbruch kommen, ist aber nicht(oder besser gesagt zwischen einem </html> und <html> , das folgt immer bei dem eigentlichen Zeilenumbruch). Das bekommt der Externe auch nach mehrmaliger Nachfrage nicht hin!
Frage an euch hat jemand ein entsprechendes Script und/oder einen Tipp ob und wie man dass mit einem Batch Aufruf hin bekommt hinter jeden </html> einen Zeilenumbruch ein zubauen?? Per Hand ist es ein wenig müsig.

Vielen Dank vorab!!

Content-ID: 306359

Url: https://administrator.de/contentid/306359

Ausgedruckt am: 25.11.2024 um 19:11 Uhr

Kraemer
Kraemer 06.06.2016 um 15:03:05 Uhr
Goto Top
Moin,

es gibt sicherlich eine Möglichkeit dein Problem per Batch zu lösen. Ich habe aber gerade keine Lösung zur Hand.
Ich wollte nur darauf hinweisen, das du mit einem Editor ala Notepad++ das Problem in Sekunden lösen kannst:

Suchen / Erstezen
Suchen nach </html>
Ersetzen durch </html>\r
Und den Suchmodus auf Erweitert setzen.
Fertig

Gruß Krämer
TlBERlUS
TlBERlUS 06.06.2016 um 15:13:20 Uhr
Goto Top
Hi,

Powershell:
clear
$content = gc '.\new 1.txt' #pfad der Datei mit angeben  
$nl = [System.Environment]::NewLine
$newcontent = @()

foreach($c in $content){
    if($c -match '</html>'){  
        $c =$c.Replace('</html>', '</html>'+ $nl)  
    }
    $newcontent += $c
}
    $newcontent | Set-Content neuedatei.txt
129413
129413 06.06.2016 aktualisiert um 15:58:41 Uhr
Goto Top
@echo off
set "file=C:\datei.txt"  
powershell -Executionpolicy ByPass -Command "(gc '%file%') -replace '(</html>)',('$1' + [Environment]::Newline) | set-content '%file%'"  
Gruß skybird
Biber
Lösung Biber 06.06.2016 aktualisiert um 15:59:44 Uhr
Goto Top
[OT]
Moin skybird,

ähmm, PowerShell kenn ich ja nicht näher.
Aber Montage kenne ich ganz genau.

Deshalb würde ich hier ja unterstellen..
Zitat von @129413:

@echo off
set "file=C:\datei.txt"  
powershell -Executionpolicy ByPass -Command "(gc '%datei%') -replace '(</html>)',('$1' + [Environment]::Newline) | set-content '%file%'"  
... -> hier könnte die Variable %file% wegen Koffeinmangel zwischenzeitlich mal zu %datei% und innerhalb der Zeile 03 wieder zurück zu %file% mutiert sein.

Wenn es für den TO der gleiche Wochentag ist wie für uns beide: der sucht sich tot!

Verbesserungsvorschlag a)
@echo off
set "file=C:\datei.txt"  
powershell -Executionpolicy ByPass -Command "(gc '%file%') -replace '(</html>)',('$1' + [Environment]::Newline) | set-content '%file%'"  

Verbesserungsvorschlag b)
@echo off
set "file=C:\datei.txt"   
set "datei=%file%"  
powershell -Executionpolicy ByPass -Command "(gc '%datei%') -replace '(</html>)',('$1' + [Environment]::Newline) | set-content '%file%'"  

face-wink
Grüße
Biber
[/OT]
129413
129413 06.06.2016 aktualisiert um 16:00:15 Uhr
Goto Top
Korrigiert. Danke. (Dackelkacke vorm Kopp face-smile)
Ironhead-Hayns
Ironhead-Hayns 07.06.2016 um 08:59:43 Uhr
Goto Top
WOW das ging ja unglaublich schnell, vielen dank, das isses!! Funktioniert bestens.