Einfügen eines Leerzeichens zwischen jedem Buchstaben

Fügen Sie zwischen jedem Buchstaben ein Leerzeichen ein.

 $ echo -e "hallo lifenund hallo zu dir" | sed 's /./& / g'

h el lolife

andhellotoyou

  • Das Problem ist, dass sich der natürliche Abstand zwischen den einzelnen Wörtern verdoppelt. Um dies zu lösen, fügen Sie einfach hinzu:

 $ echo -e "hallo lifenund hallo zu dir" | sed 's /./& / g; s / / / g'

h el lolife

andhellotoyou

$

  • Hier ist eine Variante. Verglichen mit dem vorherigen Ersatz und in einem einzigen Schuss gemacht s ///

 $ echo -e "hallo lifenund hallo zu dir" | sed -r 's / ([^]) / 1 / g'

h el lolife

andhellotoyou

  • Wenn Sie die Option -r nicht verwenden möchten

sed 's / ([^]) / 1 / g'

[^ ...] Klassenzeichen

  • [^ ...] - Wird eine Zeichenklasse ergänzt, die "ein nicht aufgeführtes Zeichen erkennen" bedeutet, nicht mit "ein aufgeführtes Zeichen nicht erkennen" verwechseln.
  • In unserem Fall kann übersetzt werden "um ein Zeichen zu erkennen, das kein Leerzeichen ist."
Vorherige Artikel Nächster Artikel

Top-Tipps