Anzeige:
Ergebnis 1 bis 12 von 12

Thema: Wie bringe ich sed bei, ob es den ersten oder letzten vorkommenden Char nimmt?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    intooblivion
    Gast
    Hi danke,

    ich hatte es auch gerade auf der englischen Wikipedia gesehen, sorry.

    Eine Frage bleibt bei mir noch, nun angenommen ich habe
    DATEI="1st_and_ 2nd_term"
    und sage jetzt
    filename=`echo $DATEI | sed 's/ \+/\\ /g'`

    wieso sind meine Änderungen jetzt nicht in der neuen Variablen?

    Sorry, ich bin nicht so der Profi in Shellskript, vielleicht liegt der Fehler auf der Hand...

    mfg.

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    Es kommt ein wenig drauf an, was danach mit dem String passiert...

    Probier mal, ob folgendes bei Dir geht:
    Code:
    filename=`echo $DATEI | sed 's/ \+/\\\\ /g'`
    Damit maskierst Du den Backslash auch noch... vier '\' werden zu zwei '\' und beim weiterverarbeiten werden zwei '\' zu einem - bleibt '\ ' übrig....

  3. #3
    intooblivion
    Gast
    ach herrje ich guck schon viel zu lange drauf, vielen vielen dank!

  4. #4
    intooblivion
    Gast
    Hi..

    ich sollte meine Fragen zusammenfassen - ich weiß, ich bitte es zu entschuldigen... Ok, mein Skript ist komplett fertig, leider muss ich in dem Skript in ein Verzeichnis mit Leerzeichen wechseln, per sed habe ich es in eine Form gebracht, daß die Shell es schlucken müsste, tut sie aber natürlich nicht.

    es sieht so aus:

    nenpfad="/home/1st_and_ 2nd_term"
    dateiname=`echo $nenpfad | sed 's/ \+/\\\\ /g'`
    echo $dateiname
    echo `ls -l $dateiname`

    der dateiname auf den ich zugreifen will wird auch korrekt angezeigt, nur das ls -l macht mucken, "Directory not found"... Es greift wohl erst auf den ersten teil bist zum Leerzeichen zu und dann auf den zweiten teil...

    hättet ihr vielleicht eine Idee?

    EDIT: Mein Fehler, Beitrag kann gelöscht werden. Entschuldigung.
    Geändert von intooblivion (14-02-2007 um 21:43 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    20.02.2004
    Ort
    Boeblingen
    Beiträge
    90
    echo `ls -l "$dateiname"`

    ?
    Servus und bis bald,

    Blackhawk

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •