Zeichen in Variaable ersetzen.

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von heckmic, 26.08.2006.

  1. #1 heckmic, 26.08.2006
    Zuletzt bearbeitet: 26.08.2006
    heckmic

    heckmic Mitglied

    Dabei seit:
    26.08.2006
    Beiträge:
    25
    Zustimmungen:
    0
    Ich habe ein Script geschrieben, welches Dateien, die ich mit dem vdr aufgenommen habe in dvd konforme mpegs wandelt. Nun habe ich ein Problem mt der ausgabedatei.

    Die Variable heißt $VDRFILE und der Inhalt ist z.B:

    /mnt/ftp/tv/Verliebt_in_Berlin/_/2006-08-23.19.05.99.99.rec/001.vdr

    das ist auch so ok, nun möche ich aber eine Variable haben ($VDROUT) die als Inhalt das hier hat:

    /mnt/ftp/tv/Verliebt_in_Berlin/_/2006-08-23.19.05.99.99.rec/001.mpg

    also die letzten 3 Zeichen des Strings dur "mpg" ersetzen.
    Wie kann ich das machen?

    Hier das Script:

    #!/bin/sh
    date >> /mnt/ftp/tv/convert.log
    /etc/init.d/vdr stop
    /etc/init.d/vdradmin-am stop
    VDRFILE=`find /mnt/ftp/tv -mtime +1 | grep 00..vdr -m 1`
    VDROUT=$VDRFILE
    nice -20 tovid -in "$VDRFILE" -out "$VDROUT" -pal -half-dvd
    echo "VDR Datei bearbeitet $VDRFILE" >> /mnt/ftp/tv/convert.log
    rm "$VDRFILE"
    echo "QUELLDATEI $VDRFILE geloescht" >> /mnt/ftp/tv/convert.log
    date >> /mnt/ftp/tv/convert.log
    /etc/init.d/vdr start
    /etc/init.d/vdradmin-am start
     
  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 phrenicus, 26.08.2006
    phrenicus

    phrenicus Routinier

    Dabei seit:
    24.05.2006
    Beiträge:
    253
    Zustimmungen:
    0
    Ort:
    Tübingen, Germany
    Hallo,

    Code:
    VDROUT=`echo ${VDRFILE} | sed s/\.vdr$/\.mpg/`
    
    Versuchs mal damit.

    Gruß
     
  4. #3 heckmic, 26.08.2006
    heckmic

    heckmic Mitglied

    Dabei seit:
    26.08.2006
    Beiträge:
    25
    Zustimmungen:
    0
    Super!

    Danke, es geht! :D
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Oder, nur mit bash-Mitteln

    Code:
    VDROUT=${VDRFILE%vdr}mpg
    
    Gruss Xanti
     
  6. #5 phrenicus, 26.08.2006
    phrenicus

    phrenicus Routinier

    Dabei seit:
    24.05.2006
    Beiträge:
    253
    Zustimmungen:
    0
    Ort:
    Tübingen, Germany
    @Xanti,

    stimmt :)
    Da spart man sogar noch einen Prozess

    Gruß
     
  7. #6 heckmic, 26.08.2006
    heckmic

    heckmic Mitglied

    Dabei seit:
    26.08.2006
    Beiträge:
    25
    Zustimmungen:
    0
    Ihr seid echt spitze, danke!

    Kann mir einer noch erklären, was diese Zeichen alle bedeuten?
     
  8. Anzeige

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

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    man bash:

    Code:
           ${parameter%word}
           ${parameter%%word}
                  The  word  is  expanded to produce a pattern just as in pathname
                  expansion.  If the pattern matches a  trailing  portion  of  the
                  expanded value of parameter, then the result of the expansion is
                  the expanded value of parameter with the shortest matching  pat-
                  tern  (the  ``%''  case)  or  the  longest matching pattern (the
                  ``%%'' case) deleted.  If parameter  is  @  or  *,  the  pattern
                  removal  operation  is  applied  to each positional parameter in
                  turn, and the expansion is the resultant list.  If parameter  is
                  an  array  variable subscripted with @ or *, the pattern removal
                  operation is applied to each member of the array  in  turn,  and
                  the expansion is the resultant list.
    
    Gruss, Xanti
     
  10. #8 Wolfgang, 26.08.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Die bash kennt auch noch sowas:
    Code:
    VDROUT=${VDRFILE/\.vdr/.mpg}
    
    ;)


    Gruß Wolfgang
     
Thema:

Zeichen in Variaable ersetzen.

Die Seite wird geladen...

Zeichen in Variaable ersetzen. - Ähnliche Themen

  1. 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...
  2. Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?

    Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?: In mehreren Dateien ist immer mehrfach ein bestimmtes Wort enthalten, gefolgt von einem "=". Ich möchte mir die dahinter folgenden 10 Zeichen...
  3. Zeichen an Zeilenanfang für bestimmten Zeilenbereich einfügen

    Zeichen an Zeilenanfang für bestimmten Zeilenbereich einfügen: Hallo, ich würde gerne in einem Textdokument, z.B. von Zeile 10 - 18, an den Zeilenanfang ein # einfügen. Habe mir schon diverse Seiten zu SED...
  4. Nicht erkannte Zeichen nach Update

    Nicht erkannte Zeichen nach Update: Hi, nachdem ich mein Kali Linux geupdated habe, ist mir aufgefallen dass viele Zeichen auf verschiedenen Nutzeroberflächen nur fehlerhaft...
  5. Jolla Lebenszeichen: Sailfish OS wird aktualisiert

    Jolla Lebenszeichen: Sailfish OS wird aktualisiert: Der in Finanzprobleme geratene finnische Smartphonehersteller Jolla aktualisiert sein mobile Betriebssystem Sailfish OS 2.0. Das erste...