Bash: Ist die selektierte Datei ein mp3
Hallo zusammen, ich möchte aus einem Skript heraus an den id3-Tags von mp3-Dateien rumspielen. Dazu gibt der Benutzer des Skriptes diesem beim Aufruf den Namen der zu manipulierenden mp3-Datei mit. Es erscheint mir sinnvoll, diese Angabe auf "Verwertbarkeit" zu checken, um Fehlern durch falsche Formate vorzubeugen. Nun ist die Endung ".mp3" ja nicht wirklich aussagekräftig. Genügt es, die Ausgabe von $ file "Toto - Hold the line.mp3" Toto - Hold the line.mp3: MP3, 128 kBits, 44.1 kHz, JStereo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ auf den unterstrichenen Teil durchzugreppen, oder hat jemand eine noch bessere Idee (Stichwort MIME-Types)? Wie sieht die "file-Methode" mit der Portabilität auf andere Plattformen mit installierter Bash aus? $ rpm -qf `which file` file-3.27-107 Ist file ein tool, das auch auf anderen Unixen zur Verfügung steht? Gruß, Stephan -- Stephan Hakuli | mailto: stephan@hakuli.de | * GnuPG/PGP-Key * | callto: 01 71 - 651 89 43 | available, please | surfto: http://www.hakuli.de | visit my homepage
Hallo zusammen,
ich möchte aus einem Skript heraus an den id3-Tags von mp3-Dateien rumspielen. Dazu gibt der Benutzer des Skriptes diesem beim Aufruf den Namen der zu manipulierenden mp3-Datei mit. Es erscheint mir sinnvoll, diese Angabe auf "Verwertbarkeit" zu checken, um Fehlern durch falsche Formate vorzubeugen. Nun ist die Endung ".mp3" ja nicht wirklich aussagekräftig. Genügt es, die Ausgabe von
$ file "Toto - Hold the line.mp3" Toto - Hold the line.mp3: MP3, 128 kBits, 44.1 kHz, JStereo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
auf den unterstrichenen Teil durchzugreppen, oder hat jemand eine noch bessere Idee (Stichwort MIME-Types)? Wie sieht die
Ist IMHO eine gängige Art, den Dateityp zu ermitteln, aber: s.u.
"file-Methode" mit der Portabilität auf andere Plattformen mit installierter Bash aus?
Da ist evtl. ein Problem, wenn Du auf echte Portabilität Wert legst. Hier auf "meiner" E10000 gibt es den Filetype mp3 nicht, file erkennt als Typ nur "data". (Na ja, ich höre auf dem Teil auch nicht wirklich oft MP3s). mp3 als Typ ist wohl im Umfeld professioneller Unix-maschinen kein gängiges Format!
$ rpm -qf `which file` file-3.27-107
Ist file ein tool, das auch auf anderen Unixen zur Verfügung steht?
Ja, aber s.o.
Gruß, Stephan
Andreas
On Die, Apr 03, 2001 at 12:55:30 +0200, Andreas Kyek wrote: [das war Stephan Hakuli. Lass bitte Deine Vorredner leben]
$ file "Toto - Hold the line.mp3" Toto - Hold the line.mp3: MP3, 128 kBits, 44.1 kHz, JStereo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
auf den unterstrichenen Teil durchzugreppen, oder hat jemand eine noch bessere Idee (Stichwort MIME-Types)? Wie sieht die
Ist IMHO eine gängige Art, den Dateityp zu ermitteln, aber: s.u.
ACK, allerdings muss man auf die Version achten. Mein file (3.26) meldet *MPEG audio stream data*
"file-Methode" mit der Portabilität auf andere Plattformen mit installierter Bash aus?
Da ist evtl. ein Problem, wenn Du auf echte Portabilität Wert legst. Hier auf "meiner" E10000 gibt es den Filetype mp3 nicht, file erkennt als Typ nur "data". (Na ja, ich höre auf dem Teil auch nicht wirklich oft MP3s). mp3 als Typ ist wohl im Umfeld professioneller Unix-maschinen kein gängiges Format!
ACK. Allerdings wird unter Linux für die Dateityperkennung u. a. die Datei /usr/lib/magic benutzt, in der die magic numbers abgelegt sind. Ich weiss jetzt nicht, ob dies auf anderen Systemen ähnlich läuft, dann kann man das nämlich ändern. /usr/lib/magic ist eine editierbare Textdatei, nur in die Syntax muss man erstmal einsteigen (ich habe mir die Mühe nicht gemacht ;-) Alle .mp3-Dateien, die ich hier rumliegen habe, fangen mit der Sequenz 0xfbff an (Behauptet zumindest od).
$ rpm -qf `which file` file-3.27-107
Das geht auch einfacher mit file -v Jan
participants (3)
-
Andreas Kyek
-
Jan.Trippler@t-online.de
-
Stephan Hakuli