Zeilenumbruchsthema abgeschlosssen
This commit is contained in:
@@ -46,7 +46,9 @@ löscht Zeilen, die „error“ ODER „warning“ enthalten.
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Löschen von Leerzeichen/Tabs am Zeileende jeder Zeile
|
## Löschen von Leerzeichen/Tabs am Zeileende jeder Zeile
|
||||||
`:%s/\s\+$//`
|
````
|
||||||
|
:%s/\s\+$//
|
||||||
|
````
|
||||||
|
|
||||||
- `:%s` – Suchen & Ersetzen in der ganzen Datei
|
- `:%s` – Suchen & Ersetzen in der ganzen Datei
|
||||||
- `\s\+` – ein oder mehrere Whitespace-Zeichen (Leerzeichen, Tabs)
|
- `\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:
|
getestete Variante:
|
||||||
|
|
||||||
`:%!sed -n '/Begriff1/,/Begriff2/p'`
|
```
|
||||||
|
:%!sed -n '/Begriff1/,/Begriff2/p'
|
||||||
|
```
|
||||||
Direkt im Terminal:
|
Direkt im Terminal:
|
||||||
`sed -n '/Begriff1/,/Begriff2/p' datei.txt > ausgabe.txt`
|
```
|
||||||
|
sed -n '/Begriff1/,/Begriff2/p' datei.txt > ausgabe.txt
|
||||||
|
```
|
||||||
|
|
||||||
**Erklärung:**
|
**Erklärung:**
|
||||||
|
|
||||||
@@ -75,10 +81,12 @@ Direkt im Terminal:
|
|||||||
`/Begriff1/,/Begriff2/p` – gibt nur die Zeilen von Begriff1 **bis** Begriff2` aus (inklusive beider Zeilen)
|
`/Begriff1/,/Begriff2/p` – gibt nur die Zeilen von Begriff1 **bis** Begriff2` aus (inklusive beider Zeilen)
|
||||||
|
|
||||||
## Löschen von Zeilenanfang bis zu einem bestimmten Begriff
|
## Löschen von Zeilenanfang bis zu einem bestimmten Begriff
|
||||||
```:%s/^.*\zeBegriff//```
|
```
|
||||||
|
:%s/^.*\zeBegriff//
|
||||||
|
```
|
||||||
|
|
||||||
`^.*` → alles vom Zeilenanfang
|
`^.*` → alles vom Zeilenanfang
|
||||||
`\ze → „hier endet der Match“
|
`\ze` → „hier endet der Match“
|
||||||
SUCHTEXT bleibt erhalten
|
SUCHTEXT bleibt erhalten
|
||||||
|
|
||||||
## Speichern als
|
## Speichern als
|
||||||
@@ -98,3 +106,54 @@ Erklärung:
|
|||||||
- `.` = aktuelle Zeile
|
- `.` = aktuelle Zeile
|
||||||
- `$-1` = vorletzte Zeile (die letzte hat ja nichts mehr zum Anhängen)
|
- `$-1` = vorletzte Zeile (die letzte hat ja nichts mehr zum Anhängen)
|
||||||
- `join` (oder kurz `j`) verbindet jede Zeile mit der folgenden
|
- `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
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user