Dateinamen kürzen

Diskutiere Dateinamen kürzen im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo zusammen, ich möchte in einem Verzeichnis Dateinamen von 9 Stellen + Dateiendung auf die ersten 8 Stellen + Dateiendung kürzen. Habe dazu...

  1. #1 holybabel, 23.12.2009
    holybabel

    holybabel Grünschnabel

    Dabei seit:
    23.12.2009
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo zusammen,

    ich möchte in einem Verzeichnis Dateinamen von 9 Stellen + Dateiendung auf die ersten 8 Stellen + Dateiendung kürzen. Habe dazu folgenden sed Befehl im Netz gefunden welcher allerdings von einer unbekannten Länge ausgeht:

    mv "$file" "`echo $file |sed -re 's/^([^.]{,8})[^.]*\.(.{,3}).*$/\1.\2/'`"

    Leider erhalte ich beim ausführen dieses Befehls folgende Fehlermeldung:

    "sed: illegal option -- r"

    Ich versuche das ganze auf einer HP-UX Kiste zum laufen zu bekommen. Bin allerdings absoluter SED-Neuling und hab keine Ahnung was ich nun machen muss, kann mir da jemand weiterhelfen?

    Gruß HolyBabel
     
  2. #2 floyd62, 23.12.2009
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    315
    Zustimmungen:
    0
    Standard-sed auf HP-UX unterstützt keine 'extended regular expressions', d.h. die "-r" Option gibts hier nicht ("sed: illegal option -- r"; Blick in die Manual-Page sollte das schon zeigen.).

    Du kannst dir natürlich 'nen GNU-sed installieren ... oder aber:

    Wenn alle deine Dateienamen aus exakt 9 Zeichen Basis und einer beliebigen Erweiterung zusammengesetzt sind, kannst du mit dem alten "sed" einfach etwas wie
    Code:
    new=`echo "$old" | sed -e 's/\(........\).\.\(.*\)/\1.\2/'`
    mv "$old" "$new"
    
    verwenden. Vor dem "mv" zu überprüfen, ob es die Datei "$new" schon gibt, schadet sicher nicht ;-)

    Unter den o.a. Voraussetzungen (exakte Länge bekannt etc.), ist evtl. "cut" etwas effizienter/einfacher als sed; das gäbe dann
    Code:
    new=`echo "$old" | cut -c1-8,10-`
    
    Gruss
     
  3. #3 holybabel, 23.12.2009
    holybabel

    holybabel Grünschnabel

    Dabei seit:
    23.12.2009
    Beiträge:
    2
    Zustimmungen:
    0
    Danke dir...der cut Befehl funktioniert perfekt.
     
Thema: Dateinamen kürzen
Besucher kamen mit folgenden Suchen
  1. 8 3 dateienamen anzeigen

Die Seite wird geladen...

Dateinamen kürzen - Ähnliche Themen

  1. Dateinamen mit Extension auf einen Maximalwert kürzen

    Dateinamen mit Extension auf einen Maximalwert kürzen: Hallo, ich muss Dateinamen die eine Extension (.mp3) haben auf eine maximale Länge von 30 Zeichen kürzen damit die Titel in meinem Auto Radio...
  2. Dateinamen kürzen/ändern

    Dateinamen kürzen/ändern: Hallo, kann mir jemand bei einer Zeile helfen? Ich versuche folgendes: Lösche die ersten 8 Zeichen ersetze die letzten 3 Zeichen in txt....
  3. [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind

    [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind: Moin Gemeinde, ich habe ein Skript welches Emails abholt und weiterverarbeitet, manche müssen ausgedruckt werden. Nun hat sich herausgestellt...
  4. Einfaches Shellscript - dateinamen ändern

    Einfaches Shellscript - dateinamen ändern: Hey, kann mir jemand vielleicht bei diesem miniscript helfen? ich habe dateien die folgendermaßen aussehen MM-DD-YY-dateiname und...
  5. Wie verschiedene Pattern in diversen Dateinamen finden und ersetzen?

    Wie verschiedene Pattern in diversen Dateinamen finden und ersetzen?: Hi Leute. Ich habe ein kleines Problem. Ich möchte mittels Bash nach bestimmten pattern in Dateinamen suchen und diese durch "nichts"...