Backslash - CRLF - 2 Leerzeichen Kombination finden und ersetzen
Guten Morgen,
innerhalb einer exportierten .reg Datei gibt es häufiger mal REG_BINARY Werte, die sich über mehrere Zeilen erstrecken.
Sowas z.B.:
Kennt jemand eine Möglichkeit diese Zeilen nach dem "\(CRLF) " zu durchsuchen und dieses gegen
"" (leerer Wert) zu ersetzen?
Ausehen soll das Ganze danach so:
Die der .bat Datei übergebene .reg Datei wird am Anfang per
eingelesen (die entsprechende .reg Datei ist dann der Parameter %1). Es wäre schön wenn schon innerhalb der FOR-Schleife diese Ersetzung stattfinden könnte.
Wenn es nicht mit normalen Batchmitteln möglich ist, käme auch ein Aufruf von sed / tr / awk in Frage
(aus den GnuUtils). Leider hatte ich mit sed / tr keinen Erfolg, was das Zusammenbasteln der nötigen
Parameter für den Aufruf betrifft (und Google wollte für den speziellen Fall auch nicht weiterhelfen).
Danke für evtl. Ideen & Vorschläge!
Gruß,
Highend
innerhalb einer exportierten .reg Datei gibt es häufiger mal REG_BINARY Werte, die sich über mehrere Zeilen erstrecken.
Sowas z.B.:
"Key"=hex:09,EF,BE,0B,C1,89,A1,83,E2,8E,5C,8B,90,15,2E,F4,54,65,67,C9,\
23,E4,DE,0D,36,3E,72,0E,C3,F4,73,8E,EE,C1,61,CF,3B,6D,CC,8E,AE,7A,75,B5,17,\
87,7C,F5,68
Kennt jemand eine Möglichkeit diese Zeilen nach dem "\(CRLF) " zu durchsuchen und dieses gegen
"" (leerer Wert) zu ersetzen?
Ausehen soll das Ganze danach so:
"Key"=hex:09,EF,BE,0B,C1,89,A1,83,E2,8E,5C,8B,90,15,2E,F4,54,65,67,C9,23,E4,DE,0D,36,3E,72,0E,C3,F4,73,8E,EE,C1,61,CF,3B,6D,CC,8E,AE,7A,75,B5,17,4E,14,F6,9D,DD,60,84,3B,45,02,F5,F7,15,11,2D,35,76,D5,BE,29,67,34,0E,C1,36,87,7C,F5,68
Die der .bat Datei übergebene .reg Datei wird am Anfang per
for /f "skip=1 tokens=*" %%a in ('type %1') do (
set line=%%a
Wenn es nicht mit normalen Batchmitteln möglich ist, käme auch ein Aufruf von sed / tr / awk in Frage
(aus den GnuUtils). Leider hatte ich mit sed / tr keinen Erfolg, was das Zusammenbasteln der nötigen
Parameter für den Aufruf betrifft (und Google wollte für den speziellen Fall auch nicht weiterhelfen).
Danke für evtl. Ideen & Vorschläge!
Gruß,
Highend
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 120394
Url: https://administrator.de/contentid/120394
Ausgedruckt am: 18.12.2024 um 20:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo Highend,
es geht ja nicht nur um \CRLF, sondern die 2 nachfolgenden Leerzeichen (auf der nächsten Zeile) müssen auch mit ersetzt werden.
Mit rpl geht das so.
Sollte deine reg-datei nicht im ASCII-Format vorliegen, ist ein Zwischenschritt notwendig. rpl verarbeitet keine Pipe.
cu paulepank
es geht ja nicht nur um \CRLF, sondern die 2 nachfolgenden Leerzeichen (auf der nächsten Zeile) müssen auch mit ersetzt werden.
Mit rpl geht das so.
rpl -q -e "\\\r\n " "" datei.reg
Sollte deine reg-datei nicht im ASCII-Format vorliegen, ist ein Zwischenschritt notwendig. rpl verarbeitet keine Pipe.
type datei.reg >neu.reg
rpl -q -e "\\\r\n " "" neu.reg
cu paulepank