sed mit basename verknüpfen - oder anders Dateipfade in Dateien mit regex ersetzen?

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von Kryptaesthesie, 13.12.2012.

  1. #1 Kryptaesthesie, 13.12.2012
    Kryptaesthesie

    Kryptaesthesie Jungspund

    Dabei seit:
    02.02.2006
    Beiträge:
    23
    Zustimmungen:
    0
    Ort:
    NRW
    Hallo,

    mein Ziel ist es ein Script zu schreiben, das eine CSS-Datei entgegen nimmt und in dieser Datei Pfade ersetzt.
    Ich möchte bspw. Folgendes erreichen:

    aus
    background: url(relativer_pfad/fp_beispiel.png)
    wird
    background: url($CMS_REF(media:"fp_beispiel")$)


    Der Dateiname soll bleiben und von dem CMS_REF inkl. der $ umschlossen sein.

    Ich habe mit sed schon etwas herumgespielt und bekomme auch mein url( ersetzt durch url($CMS_REF(media:", nur beim Dateinamen hapert es.
    Es gibt ja die wunderbare Funktion basename - kann ich die in den sed-Befehl einbauen? Wie?


    Vielen Dank schon mal für eure Hilfe!
    Gruß
    Gerrit
     
  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. #2 Spröde, 13.12.2012
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    Womit? Mit der Bash?

    Zeig doch mal...
     
  4. #3 Kryptaesthesie, 13.12.2012
    Kryptaesthesie

    Kryptaesthesie Jungspund

    Dabei seit:
    02.02.2006
    Beiträge:
    23
    Zustimmungen:
    0
    Ort:
    NRW
    Mein Script sieht bisher so aus:

    Code:
    #!/bin/bash
    
    # check source file exists
    if [ ! -f $1 ]
    then
        echo "Source file not found. Exit."
        exit 1
    fi
    
    tempfile="$1_"
    
    # replace ('
    sed "s/('/(\$CMS_REF(media:\"/g" $1 > $tempfile
    
    # replace ')
    sed "s/')/\")\$/g" $tempfile > $tempfile
    
     
  5. #4 Spröde, 13.12.2012
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    Reicht Dir das so schon?
    Code:
    ~> echo "background: url('relativer_pfad/fp_beispiel.png')" | sed -e "s/('/(\$CMS_REF(media:\"/g" -e "s/')/\")\$)/g" -e 's/".*\//"/'
    background: url($CMS_REF(media:"fp_beispiel.png")$)
    
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

sed mit basename verknüpfen - oder anders Dateipfade in Dateien mit regex ersetzen?

Die Seite wird geladen...

sed mit basename verknüpfen - oder anders Dateipfade in Dateien mit regex ersetzen? - Ähnliche Themen

  1. prog_name= $(basename $0)

    prog_name= $(basename $0): hallo, ganz kurze frage. warum macht die obige Zeile eine Endlosschleife? Das soll in ein bash-script rein. ich denke , das kostet Euch nur eine...
  2. Mailto mit Icedove (TB) verknüpfen

    Mailto mit Icedove (TB) verknüpfen: Im Iceweasel (FF) oder GoogleEarth gibt es die Möglichkeit Seiten oder Koordinaten per Email zu versenden. Bei mir klappt das leider nicht. Wo...
  3. zwei werte xor verknüpfen in ksh?

    zwei werte xor verknüpfen in ksh?: Hallo Leute, ich muss in einem Script 2 Variablen XOR verknüpfen. Shell ist ksh. Geht das? Wenn ja, wie? tia, DN2
  4. Abfrage: Tabellen verknüpfen?

    Abfrage: Tabellen verknüpfen?: hi, ich brauche ein bischen Hilfe bei einer Mysql-Abfrage. Und zwar habe ich 2 Tabellen. 1. Hier stehen Rennergebisse drinne nach dem...
  5. Partitionen verknüpfen

    Partitionen verknüpfen: Ich habe heute mit Schrecken festgestellt, dass auf meiner /home-Partition nur noch 200 von einstmals 20000 MB frei sind. Auf eine...