Funktionierender regulärer Ausdruck (CMD) um aus einer Textdatei bestimmte Zeilen mit " zu entfernen?

Eigentlich könnte man ja meinen, dass dieses Problem recht leicht zu lösen sein müsste. 

Aber aus irgendwelchen Gründen ist es das nicht, da " irgendwie für alles einen Sonderstatus hat. 

Also was ich gerne wissen würde: 

 Wie bzw. mit welchem regulären Ausdruck kann man (z.b mit einem Grepbefehl?) alle Zeilen suchen, die mit einem " anfangen ohne, dass dies zu unerwarteten Verhalten führt und z.b der Pfad nicht mehr gefunden wird bzw. keine Ausgabedatei erzeugt wird?  

 Ich hab es jetzt bereits mit dutzenden verschiedensten Varianten versucht: grep '^"' grep '^\"' grep -E '^\"' grep '^\".*' 

und noch X weiteren Variationen, aber entweder werden einfach nur alle Zeilen ausgegeben, die irgendwo im Text ein " enthalten oder es gibt Probleme mit der Erzeugung der Ausgabedatei.

Wichtig wäre in diesem Fall jedoch, dass nur der Anfang (erste Charakter) einer Zeile überprüft bzw. gematched werden soll. Scheinbar soll dies bei Grep ja mit ^ möglich sein und ein Escapen der " mit \. Funktioniert aber alles nicht!

GPT hab ich auch schon gefragt, aber der Bot ist mit der Frage komplett überfordert und gibt nur hanebüchenen Mist aus, der entweder nicht funktioniert oder sehr langsam ist (z.b Ansätze mit Powershell)

Also bevor ich jetzt noch meinen kompletten PC / CPU zu Schrott fahre: Gibt es eine effektive und schnelle Möglichkeit wie man diese Operation aus einer Textdatei alle Zeilen ohne " am Anfang = delete (möglichst mit verfügbaren Onboardmitteln) ausführen kann und falls ja wie?  

Im Idealfall sollten die Zeilen, die nicht gematched werden auch einfach direkt aus der Datei herausgelöscht werden können, anstatt jedesmal den kompletten Inhalt zu kopieren.

Irgendein Tipp?

PC, IT, programmieren, Batch, Batchprogrammierung, cmd, Code, Programmiersprache, Textbearbeitung, PowerShell, Regulärer Ausdruck, Windows 10, CMD Befehl
Powershell Script, dass Zeilenelemente einer Textdatei vertauscht. Ausgabe wird nicht korrekt formatiert?

Folgendes Problem: Ich habe diesen Quelltext hier: $lines = 0

$output = @()

(Get-Content -Path "D:\Data_24.txt" | foreach {

$elements = $_.Trim().Split(',')

if ($elements.Count -ge 6) {

$newElements = $elements[2], $elements[1], $elements[0], $elements[3], $elements[4], $elements[5]

$output += [PSCustomObject]@{ Elements = $newElements -join ',' }

}

$lines++

# Schreibe das Array in die CSV-Datei alle 700 Zeilen

if ($lines % 700 -eq 0) {

$output | Export-Csv -Path "output.csv" -NoTypeInformation -Append -Encoding UTF8

$output = @() # Leere das Array nach dem Schreiben

Write-Host "Schreibe Zeilen: $lines"

}

}) | Out-Null

# Schreibe das restliche Array in die CSV-Datei

$output | Export-Csv -Path "output.csv" -NoTypeInformation -Append -Encoding UTF8

Write-Host "Verarbeitung abgeschlossen. Gesamtanzahl der Zeilen: $lines"

...für eine Powershelldatei, die aus einer vorhandenen Textdatei alle Zeilen auslesen soll bestimmte Zeilenelemente vertauscht und das Ergebnis in einer neuen CSV - Datei abspeichern soll. Dies funktioniert soweit auch, allerdings wird aus irgendeinem Grund die komplette UTF8 Formatierung ignoriert, was bedeutet, dass bei einigen Zeilen, die in der Ausgangsdatei korrekt dargestellt werden in der neuen Datei ausschließlich Zeichensalat entsteht.

Hat einer von euch eine Idee wie man hier das Problem beheben kann? Thx schon im Voraus...

Konsolen, Formatierung, Programmiersprache, Script, Textbearbeitung, PowerShell, Textdatei

Meistgelesene Beiträge zum Thema Textbearbeitung