Header einer Datei auslesen
Header einer Datei auslesen
Hallo,
ich würde gerne den Header einer Datei auslesen um daraus schließen zu können um welchen Dateityp es sich handelt.
Kann ich dies mit bashscripting realisieren oder wird das ganze komplizierter mit perl,etc. ???
ich würde gerne den Header einer Datei auslesen um daraus schließen zu können um welchen Dateityp es sich handelt.
Kann ich dies mit bashscripting realisieren oder wird das ganze komplizierter mit perl,etc. ???
MfG
j A n
j A n
Von weitere Dienste verschoben.
Kennst Du 'file' ? Das macht vielleicht schon was Du willst? Ansonsten müßtest Du genauer schreiben, was Du machen willst und was genau bei Dir der Header ist.
Bert
Kennst Du 'file' ? Das macht vielleicht schon was Du willst? Ansonsten müßtest Du genauer schreiben, was Du machen willst und was genau bei Dir der Header ist.
Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
Ich möchte lediglich irgendwie herausfinden um was für eine Art Datei es sich handelt. Denn die Dateiendung kann man wirklich leicht ändern.
Aber es müssen doch in der Datei selbst irgendwo Informtationen stehen, ob es sich um eine mp3 oder avi Datei handelt z.b.
Was ist 'file' ? ist das eine Funktion ? Gibts die jetzt in Perl? oder ist das ein Linux-kommando ?
Aber es müssen doch in der Datei selbst irgendwo Informtationen stehen, ob es sich um eine mp3 oder avi Datei handelt z.b.
Was ist 'file' ? ist das eine Funktion ? Gibts die jetzt in Perl? oder ist das ein Linux-kommando ?
MfG
j A n
j A n
Das ist ein Kommando. Gib einfach mal ein, oder irgendeine andere Datei.
Von Perl hab ich keinen Schimmer.
Bert
Code: Alles auswählen
file -i /etc/apt/sources.list
Von Perl hab ich keinen Schimmer.
Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
Danke !
das war genau das was ich gesucht habe.
EDIT: Weisst dz zufällig auch wie ich diesem Programm sage das es alle Ordner und Unterordner einer Verzeichnisstruktur durchgehen soll ?
Habe das Prob erstmal mit: file -i `cat directorylist` umgangen, nur muss ich jetzt erstmal ein Script schreiben was mir diese Directorylist ausgibt, es sollen nämlich alle Homeverz. durchsucht werden. Ich hätte das am liebsten mit "find -i /home/*" gemacht.
das war genau das was ich gesucht habe.
EDIT: Weisst dz zufällig auch wie ich diesem Programm sage das es alle Ordner und Unterordner einer Verzeichnisstruktur durchgehen soll ?
Habe das Prob erstmal mit: file -i `cat directorylist` umgangen, nur muss ich jetzt erstmal ein Script schreiben was mir diese Directorylist ausgibt, es sollen nämlich alle Homeverz. durchsucht werden. Ich hätte das am liebsten mit "find -i /home/*" gemacht.
MfG
j A n
j A n
Code: Alles auswählen
file -i -f `find /home -type f`
Bin selbst kein bash - Scripter. Aber das folgende geht bei mir: Man kann/sollte das natürlich in mehere Zeilen schreiben..
Hinweise/Verbesserungen von den Scriptern hier sind willkommen.
Bert
Code: Alles auswählen
for i in `ls`; do file -i $i; done
Hinweise/Verbesserungen von den Scriptern hier sind willkommen.
Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Code: Alles auswählen
find /home -type f -exec file -i {} \;
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
naja.. viel spass bei Leerzeichen in einem Dateinamen.. könnte sein das er sich dabei verschluckt.. bei meinem aber vielleicht auch.. daher lieber
oder (nach dem IFS=" ist ein ENTER zu drücken)
Code: Alles auswählen
find /home -type f -exec file -i "{}" \;
Code: Alles auswählen
IFS="
"
for i in `find /home -type f`
do
file -i $i
done
Code: Alles auswählen
find /home/ -type f -print0 | xargs -0 file
Gruß
Codi
Ich hab auch noch einen Ich würde aber auch die find-exec Variante vorziehen.
Code: Alles auswählen
find /home -type f|while read x
do file -i $x
done