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-Key: 306359

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

Printed on: April 19, 2024 at 14:04 o'clock

Member: Kraemer
Kraemer Jun 06, 2016 at 13:03:05 (UTC)
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
Member: TlBERlUS
TlBERlUS Jun 06, 2016 at 13:13:20 (UTC)
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
Mitglied: 129413
129413 Jun 06, 2016 updated at 13:58:41 (UTC)
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
Member: Biber
Solution Biber Jun 06, 2016 updated at 13:59:44 (UTC)
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]
Mitglied: 129413
129413 Jun 06, 2016 updated at 14:00:15 (UTC)
Goto Top
Korrigiert. Danke. (Dackelkacke vorm Kopp face-smile)
Member: Ironhead-Hayns
Ironhead-Hayns Jun 07, 2016 at 06:59:43 (UTC)
Goto Top
WOW das ging ja unglaublich schnell, vielen dank, das isses!! Funktioniert bestens.