Leerzeichen durch "_" ersetzen

Diskutiere Leerzeichen durch "_" ersetzen im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hi, ich sitze seit 5min an einen total trivialen Problem. Ich möchte im Inhalt der Variable $long alle Leerzeichen (" ") durch ein "_"...

  1. seppl2

    seppl2 Grünschnabel

    Dabei seit:
    20.01.2007
    Beiträge:
    3
    Zustimmungen:
    0
    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
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. P17

    P17 Schandensbegrenzer

    Dabei seit:
    06.12.2007
    Beiträge:
    196
    Zustimmungen:
    0
    Ort:
    Germany
    Code:
    long2=$('s/ /_/g' $long)
    Ungetestet, aus der Hüfte geschossen.
     
  4. #3 Wolfgang, 06.01.2008
    Zuletzt bearbeitet: 06.01.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    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
     
Thema:

Leerzeichen durch "_" ersetzen

Die Seite wird geladen...

Leerzeichen durch "_" ersetzen - Ähnliche Themen

  1. Ordnerdurchlauf for-Schleife & find MIT Leerzeichen

    Ordnerdurchlauf for-Schleife & find MIT Leerzeichen: Hallo alle zusammen :), ich bin ein Neuling in Sachen shellscriping und schreibe zur Zeit an einem kleinen Script und hänge seit Tagen etwas in...
  2. sed, leerzeichen durch komma ersetzen

    sed, leerzeichen durch komma ersetzen: ich hab ein skript, dass in Textdateien [[Foo:ABC XYZ]] durch {Bar:ABC XYZ} ersetzt: #!/bin/sh for i in dir/*.txt; do echo $i if [ ! -f...
  3. Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...

    Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...: Ich habe eine Textdatei in der ich Einträge bis zum 3. Leerzeichen mit den restlichen Zeilen (auch nur bis 3. Leerzeichen) vergleichen muss und...
  4. Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

    Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED: Hallo zusammen. Ich habe folgendes Anliegen: Ich habe eine HTML Datei mit entsprechenden Tags usw. . Diese möchte ich in eine normale Textdatei...
  5. Textdatei / AWK / Leerzeichen - Problem

    Textdatei / AWK / Leerzeichen - Problem: Hi liebes Forum, vielleicht könnt ihr mir bei einer kleinen Shell-Geschichte helfen, da ich kein Programmierer bin, und auf der Shell noch recht...