Dateinamen mit Extension auf einen Maximalwert kürzen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von shakky4711, 18.07.2008.

  1. #1 shakky4711, 18.07.2008
    shakky4711

    shakky4711 DOS-FAN

    Dabei seit:
    03.04.2007
    Beiträge:
    37
    Zustimmungen:
    0
    Ort:
    Freiburg
    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 erkannt werden.

    Es gibt keine Fallen wie Umlaute oder Blanks in der Dateinamen, ferner befinden sich alle Dateien sind in einem einzigen Verzeichnis. Leider habe ich keine Lösung für diese wahrscheinlich recht einfache Sache finden können, alle anderen Lösungen bezogen sich auf weit komplexere Dinge. Ich habe schon einige Dinge probiert hat aber nicht funktioniert.

    Systeme: Wahlweise FreeBSD mit CSH, SUSE mit BASH oder Win unter CYGWIN

    Vielen Dank für Eure Hilfe
     
  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 Gott_in_schwarz, 18.07.2008
    Zuletzt bearbeitet: 18.07.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Mit bash:
    Code:
    for file in *.mp3; do
        BASE=${file%.mp3}
        echo ${BASE:0:30}.mp3
    done
    Mit sed: (und sh-commandsubstitution + Schleife. Musst schauen, wie das auf csh geht...)
    Code:
    for file in *.mp3; do
        echo $file|sed -r 's!^(.{30}).*\.mp3$!\1.mp3!'
    done
    Geht natürlich auch ohne "-r" switch von sed. Dann musst du allerdings die Klammern (Rundklammern und Curlybraces) escapen.

    Code:
    $ bash --version
    GNU bash, version 3.2.25(1)-release (i486-pc-linux-gnu)
    Copyright (C) 2005 Free Software Foundation, Inc.
    $ sed --version
    GNU sed version 4.1.5
    Copyright (C) 2003 Free Software Foundation, Inc.
    edit: ist natürlich die Frage, ob die Dateien mit oder ohne extension 30 Zeichen lang sein sollen. Falls mit, kannst du 30 einfach in 26 ändern.
     
  4. #3 shakky4711, 21.07.2008
    shakky4711

    shakky4711 DOS-FAN

    Dabei seit:
    03.04.2007
    Beiträge:
    37
    Zustimmungen:
    0
    Ort:
    Freiburg
    Super, vielen Dank!

    Gruß
    Shakky4711
     
Thema:

Dateinamen mit Extension auf einen Maximalwert kürzen

Die Seite wird geladen...

Dateinamen mit Extension auf einen Maximalwert kürzen - Ähnliche Themen

  1. [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...
  2. 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...
  3. 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"...
  4. Wie finde ich Leerzeichen im dateinamen

    Wie finde ich Leerzeichen im dateinamen: Hallo, ich habe ein script mit einer Schleife über alle Dateien in einem Verzeichnis. #!/bin/sh for i in `ls *` do echo $i...
  5. Zahl innerhalb eines Dateinamens auslesen

    Zahl innerhalb eines Dateinamens auslesen: Hallo, ich habe eine große Anzahl an Dateien mit konstantem Dateinamen + einer Zahl, allerdings sind sie nicht fortlaufend nummeriert, also...