Text in txt umformulieren
Hallo,
ich würde gerne mit einer Batch in einer *.txt eine Zeile automatisch umformulieren.
In der *.txt sind mehrer Zeilen enthalten. Die umzuformulierende Zeile sieht beispielhaft so aus:
Die Zeile fängt immer wie folgt an:
der nachfolgende Teil kann sich ändern.
nach dem Umformulieren soll Folgendes übrig bleiben:
Hat hier jemand einen Tipp für mich wie man das realisieren könnte?
Vielen Dank schon im Vorraus.
Viele Grüße
ich würde gerne mit einer Batch in einer *.txt eine Zeile automatisch umformulieren.
In der *.txt sind mehrer Zeilen enthalten. Die umzuformulierende Zeile sieht beispielhaft so aus:
einsatzschlagwort:#B1118#im Gebäude#Nachschau
Die Zeile fängt immer wie folgt an:
einsatzschlagwort:#
der nachfolgende Teil kann sich ändern.
nach dem Umformulieren soll Folgendes übrig bleiben:
einsatzschlagwort: B1118
Hat hier jemand einen Tipp für mich wie man das realisieren könnte?
Vielen Dank schon im Vorraus.
Viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 665219
Url: https://administrator.de/contentid/665219
Ausgedruckt am: 23.11.2024 um 16:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
ich würde dafür Python oder PowerShell nutzen, ansonsten gibt es dazu schon einige Beiträge, z.B. hier: Suchen ersetzen per batch in einer TXT
Wenn du nach "suchen und ersetzen" suchst wirst du auch x-fach fündig.
vG
LS
ich würde dafür Python oder PowerShell nutzen, ansonsten gibt es dazu schon einige Beiträge, z.B. hier: Suchen ersetzen per batch in einer TXT
Wenn du nach "suchen und ersetzen" suchst wirst du auch x-fach fündig.
vG
LS
Servus @Grisu84,
wenn's plain Batch sein sollte
oder am besten gleich Powershell
Kannst du übrigens auch gleich in Notepad++ leicht erledigen.
Grüße Uwe
wenn's plain Batch sein sollte
@echo off
chcp 1252 >nul
set "quelle=D:\quelle.txt"
set "ziel=D:\ziel.txt"
>"%ziel" (for /f "usebackq tokens=1,2 delims=#" %%a in ("%quelle%") do echo.%%a %%b)
$quelle = 'D:\quelle.txt'
$ziel = 'D:\ziel.txt'
(gc $quelle) -replace '^([^#]+)#([^#]+).*','$1 $2' | sc $ziel
Grüße Uwe
$quelle = 'D:\quelle.txt'
$ziel = 'D:\ziel.txt'
$content = [regex]::replace((gc $quelle -raw),'(?ism)^(einsatzschlagwort:)#([^#]+)[^\r\n]*','$1 $2')
[regex]::replace($content,'(?ism)(?<=^Einsatzmittel:)(.*?)(?=^Einsatznummer:)',{
param($m)
"`r`n" + ((($m.Groups[1].Value -split "[\r\n]+") | ?{$_ -match 'F[LF] ABC'} | %{$_.split(' ',2)[1]}) -join "`r`n") + "`r`n"
}) | sc $ziel
Das peinliche ist, ich finde immer mehr Sachen, die geändert werden müssten:
Dann sammle und prüfe erst mal alles und erteile dann einen Auftrag mit Lastenheft.Irgendwann kommt der Zeitpunkt an dem man sich mal ein vernünftiges maschinenlesbares Ausgabeformat wie CSV oder XML überlegen sollte anstatt in einem wilden Mischmasch etwas vorhandenes zu ändern was hinterher doch wieder nur Kruscht wird.
Mein Problem ist, dass ich in PowerShell ganz und gar nicht durchblicke
Daran lässt sich jederzeit was ändern:Powershell Leitfaden für Anfänger
Pflichtlektüre
- Kapitel 1: Erste Schritte mit PowerShell
- Kapitel 2: Das Hilfesystem
- Kapitel 3: Entdecken von Objekten, Eigenschaften und Methoden
- Kapitel 4: Einzeiler und die Pipeline
- Kapitel 5: Formatierung, Aliase, Anbieter, Vergleich
- Kapitel 6: Flusssteuerung
- Kapitel 7: Arbeiten mit WMI
- Kapitel 8: PowerShell-Remoting
- Kapitel 9: Funktionen
- Kapitel 10: Skriptmodule
- Anhang A: Hilfesyntax
Erweiterte Grundlagen
- Alles, was Sie schon immer über Arrays wissen wollten
- Alles, was Sie schon immer über Hashtabellen wissen wollten
- Was Sie schon immer über PSCustomObject wissen wollten
- Alles, was Sie schon immer über die Variablenersetzung in Zeichenfolgen wissen wollten
- Alles, was Sie schon immer über die IF-Anweisung wissen wollten
- Alles, was Sie schon immer über die switch-Anweisung wissen wollten
- Alles, was Sie schon immer über Ausnahmen wissen wollten
- Alles, was Sie schon immer über $null wissen wollten
- Alles, was Sie schon immer über ShouldProcess wissen wollten
- Verwenden von Erweiterung mit der TAB-TASTE