Erweiterung mit Problemen der Arbeit

This commit is contained in:
Riwoldt
2026-05-06 11:02:45 +02:00
parent 43b2d969c6
commit 95b33b023f
+36 -1
View File
@@ -19,4 +19,39 @@ löscht alle Zeilen, die NICHT „baz“ enthalten
löscht Zeilen, die „error“ ODER „warning“ enthalten. löscht Zeilen, die „error“ ODER „warning“ enthalten.
## Löschen von Leerzeichen am Zeilenanfang ## Löschen von Leerzeichen am Zeilenanfang
:%g/^$/d :%g/^$/d
## Löschen von Leerzeichen/Tabs am Zeileende jeder Zeile
`:%s/\s\+$//`
- :%s Suchen & Ersetzen in der ganzen Datei
- \s\+ ein oder mehrere Whitespace-Zeichen (Leerzeichen, Tabs)
- $ am Zeilenende
- // ersetzen durch nichts (also löschen)
### Varianten
- :%s/ \+$//Nur Leerzeichen (keine Tabs) am Ende entfernen
- :%s/\t\+$//Nur Tabs am Ende entfernen
-:s/\s\+$//Nur in der aktuellen Zeile
## Arbeiten mit Blöcken
Hier geht es darum das ein Block aus einer Anzahl Zeilen besteht. Die erste Zeile beinhaltet den ersten Begriff (Begriff1) zur Identifizierung des Blockes und eines zweiten Begiffes (Begriff2) der das Ende kennzeichnet, alles um diese Blöcke soll entfernt werden.
getestete Variante:
:%!sed -n '/Begriff1/,/Begriff2/p
Direkt im Terminal:
sed -n '/Begriff1/,/Begriff2/p' datei.txt > ausgabe.txt
Erklärung:
:%! schickt den gesamten Pufferinhalt durch ein externes Kommando
sed -n unterdrückt die normale Ausgabe
/Begriff1/,/Begriff2/p gibt nur die Zeilen von Begriff1 **bis** Begriff2` aus (inklusive beider Zeilen)
## Löschen von Zeilenanfang bis zu einem bestimmten Begriff
:%s/^.*\zeBegriff//
^.* → alles vom Zeilenanfang
\ze → „hier endet der Match“
SUCHTEXT bleibt erhalten