Infoga ett mellanslag mellan varje bokstav

Lägg in ett mellanslag mellan varje bokstav.

 $ echo -e "hej liv och hallå till dig" | sed 's /./& / g'

h el lolife

andhellotoyou

  • Problemet är att det naturliga utrymmet mellan varje ord fördubblas. För att lösa detta lägg bara till:

 $ echo -e "hej liv och hallå till dig" | sed 's /./&/g; s / / / g'

h el lolife

andhellotoyou

$

  • Här är en variant. Jämfört med föregående ersättning och gjort i ett enda skott s ///

 $ echo -e "hej liv och hallå till dig" | sed-r s / ([^]) / 1 / g '

h el lolife

andhellotoyou

  • Om du inte vill använda r-alternativet

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

[^ ...] klasskaraktär

  • [^ ...] - Är en teckenklass kompletterad som betyder "att känna igen ett icke-noterat tecken", sonfusa inte med "att inte erkänna en listad karaktär.
  • I vårt fall kan översättas "för att känna igen en karaktär som inte är utrymme".
Tidigare Artikel Nästa Artikel

Bästa Tipsen