Leerzeichen durch "_" ersetzen

S

seppl2

Grünschnabel
Hi,

ich sitze seit 5min an einen total trivialen Problem.
Ich möchte im Inhalt der Variable $long alle Leerzeichen (" ") durch ein "_" ersetzen und in der Variable $long2 speichern.
Hier mein Versuch:
Code:
long2=${long// /_};
Ergebniss:
NIX. keine Fehlermeldung.

Was mache ich falsch?

Vielen Dank im Voraus.

Ben
 
Code:
long2=$('s/ /_/g' $long)

Ungetestet, aus der Hüfte geschossen.
 
quote nicht vergessen. ;)
Code:
$ long="ein test mit leerzeichen"; 
long1=[color=red][b]"[/b]$[/color]{long// /_}[color=red][b]"[/b][/color]; 
echo "$long1"
ein_test_mit_leerzeichen

Ist jedenfalls besser als erst noch sed aufzurufen. Zumal es so nicht geht...
Code:
$ long2=$('s/ /_/g' $long);
bash: s/ /_/g: Datei oder Verzeichnis nicht gefunden

Wenn schon, dann mit echo
Code:
long1=$(echo "$long"|sed -e 's/[[:space:]]/_/g')

Aber dann kannst du auch gleich tr nehmen, was immer noch schneller als sed ist.

Variante 1 ist aber für bash und ksh vorzuziehen. ;)
Gruß Wolfgang
 
Zuletzt bearbeitet:

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

PATH wird nicht richtig durchsucht

Wertebereich ersetzen mit sed

Fehlerhafte Installation von OpenSUSE 13.1

Wie bewegt Ihr zügig große Datenmengen von A nach B?

Zurück
Oben