Skip to content

file(1) und magic(5) : Beschreibung anderer Formate

Lösung:

Du kannst den ... benutzen -m Option, um eine alternative Liste von Magic-Dateien anzugeben, und wenn Sie Ihre eigene vor der kompilierten Magic-Datei (/usr/share/file/magic.mgc auf meinem System) in dieser Liste werden diese Muster vor den "globalen" getestet. Sie können eine Funktion oder einen Alias ​​erstellen, um diese Option transparent immer transparent zu verwenden, indem Sie einfach das file Befehl.

Die in Magic File verwendete Sprache ist ziemlich mächtig, daher besteht selten die Notwendigkeit, auf benutzerdefinierte C-Codierung zurückzugreifen. Das einzige Mal, dass ich dazu geneigt war, war in den 90er Jahren, als der Abgleich von HTML- und XML-Dateien schwierig war, weil es (damals) keine Möglichkeit gab, die für das Parsen erforderliche flexible Groß-/Kleinschreibung und Offset-Abgleichung zu haben <HTML und < Html und < html mit einem Muster. Ich habe das in C als Modifizierer für das 'String'-Muster implementiert, wodurch die Groß-/Kleinschreibung ignoriert und (optionale) Leerzeichen komprimiert werden können.

Diese Änderungen in C erforderten auch eine Anpassung der magischen Dateien. Und es sei denn, die file Der Quellcode hat sich seitdem erheblich geändert, Sie müssen die Regeln immer ändern (oder zusätzliche bereitstellen) magic Dateien, die diesen C-Code-Änderungen entsprechen. Sie können also genauso gut damit beginnen, es nur mit Änderungen an den magischen Dateien zu versuchen, und darauf zurückgreifen, den C-Code zu ändern, wenn das wirklich nicht funktioniert.

Click to rate this post!
[Total: 0 Average: 0]



Anderer Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.