Zeilenumbruchsthema abgeschlosssen

This commit is contained in:
2026-05-20 19:21:23 +02:00
parent a324fbf27c
commit 3e78f7eac5
+64 -5
View File
@@ -46,7 +46,9 @@ löscht Zeilen, die „error“ ODER „warning“ enthalten.
```
## Löschen von Leerzeichen/Tabs am Zeileende jeder Zeile
`:%s/\s\+$//`
````
:%s/\s\+$//
````
- `:%s` Suchen & Ersetzen in der ganzen Datei
- `\s\+` ein oder mehrere Whitespace-Zeichen (Leerzeichen, Tabs)
@@ -64,9 +66,13 @@ Hier geht es darum das ein Block aus einer Anzahl Zeilen besteht. Die erste Zeil
getestete Variante:
`:%!sed -n '/Begriff1/,/Begriff2/p'`
```
:%!sed -n '/Begriff1/,/Begriff2/p'
```
Direkt im Terminal:
`sed -n '/Begriff1/,/Begriff2/p' datei.txt > ausgabe.txt`
```
sed -n '/Begriff1/,/Begriff2/p' datei.txt > ausgabe.txt
```
**Erklärung:**
@@ -75,10 +81,12 @@ Direkt im Terminal:
`/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//```
```
:%s/^.*\zeBegriff//
```
`^.*` → alles vom Zeilenanfang
`\ze → „hier endet der Match“
`\ze` → „hier endet der Match“
SUCHTEXT bleibt erhalten
## Speichern als
@@ -98,3 +106,54 @@ Erklärung:
- `.` = aktuelle Zeile
- `$-1` = vorletzte Zeile (die letzte hat ja nichts mehr zum Anhängen)
- `join` (oder kurz `j`) verbindet jede Zeile mit der folgenden
Beispiel:
Vorher:
```
eins
zwei
drei
vier
```
Nach `:1,$-1join`:
```
eins zwei drei vier
```
Falls man **jeweils nur zwei Zeilen paarweise** verbinden will (also 1+2, 3+4, 5+6 …), dann ist `join` allein nicht genug, weil es alles zu einer einzigen Zeile macht.
Daher:
```
:%norm Jj
```
Das macht für jede Zeile:
- `J` → nächste Zeile anhängen
- `j` → zur nächsten unbearbeiteten Zeile springen
Beispiel:
Vorher:
```
a
b
c
d
e
f
```
Nachher:
```
a b
c d
e f
```