Sie können verwenden
0 string PK\x03\x04\x14\x00\x06\x00 Microsoft Office Open XML Format
in / etc / magic, um den allgemeinen Dateityp anhand der von Ihnen angegebenen Informationen zu identifizieren.
(Dies ist jedoch möglicherweise nicht universell: Dies wurde PK\x03\x04\x00\x14\x08\x08
zu Beginn der von LibreOffice generierten XLSX-Dateien beobachtet.)
Spätere Versionen von Ubuntu versuchen, die .docx-, .pptx- und .xlsx-Dateien korrekt zu identifizieren. Beim Stöbern im Sorce-Code für das Dateidienstprogramm habe ich die ~/file-5.09/magic/Magdir/msooxml
Datei gefunden, die die Identifizierung vornimmt . Sie können eine Kopie der Datei erhalten und zu Ihrer /etc/magic
Datei hinzufügen .
Einschließlich einer Kopie der Datei, die auf Version 1.5 aktualisiert wurde
# $File: msooxml,v 1.5 2014/08/05 07:38:45 christos Exp $
# msooxml: file(1) magic for Microsoft Office XML
# From: Ralf Brown <[email protected]>
# .docx, .pptx, and .xlsx are XML plus other files inside a ZIP
# archive. The first member file is normally "[Content_Types].xml".
# but some libreoffice generated files put this later. Perhaps skip
# the "[Content_Types].xml" test?
# Since MSOOXML doesn't have anything like the uncompressed "mimetype"
# file of ePub or OpenDocument, we'll have to scan for a filename
# which can distinguish between the three types
# start by checking for ZIP local file header signature
0 string PK\003\004
!:strength +10
# make sure the first file is correct
>0x1E regex \\[Content_Types\\]\\.xml|_rels/\\.rels
# skip to the second local file header
# since some documents include a 520-byte extra field following the file
# header, we need to scan for the next header
>>(18.l+49) search/2000 PK\003\004
# now skip to the *third* local file header; again, we need to scan due to a
# 520-byte extra field following the file header
>>>&26 search/1000 PK\003\004
# and check the subdirectory name to determine which type of OOXML
# file we have. Correct the mimetype with the registered ones:
# http://technet.microsoft.com/en-us/library/cc179224.aspx
>>>>&26 string word/ Microsoft Word 2007+
!:mime application/vnd.openxmlformats-officedocument.wordprocessingml.document
>>>>&26 string ppt/ Microsoft PowerPoint 2007+
!:mime application/vnd.openxmlformats-officedocument.presentationml.presentation
>>>>&26 string xl/ Microsoft Excel 2007+
!:mime application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
>>>>&26 default x Microsoft OOXML
---
Aber lassen Sie V1.2 hier für die Nachwelt.
Wenn Sie hier eine Kopie als obigen Link einfügen, ist das Dateipaket möglicherweise nicht mehr aktuell.
#------------------------------------------------------------------------------
# $File: msooxml,v 1.2 2013/01/25 23:04:37 christos Exp $
# msooxml: file(1) magic for Microsoft Office XML
# From: Ralf Brown <[email protected]>
# .docx, .pptx, and .xlsx are XML plus other files inside a ZIP
# archive. The first member file is normally "[Content_Types].xml".
# Since MSOOXML doesn't have anything like the uncompressed "mimetype"
# file of ePub or OpenDocument, we'll have to scan for a filename
# which can distinguish between the three types
# start by checking for ZIP local file header signature
0 string PK\003\004
# make sure the first file is correct
>0x1E string [Content_Types].xml
# skip to the second local file header
# since some documents include a 520-byte extra field following the file
# header, we need to scan for the next header
>>(18.l+49) search/2000 PK\003\004
# now skip to the *third* local file header; again, we need to scan due to a
# 520-byte extra field following the file header
>>>&26 search/1000 PK\003\004
# and check the subdirectory name to determine which type of OOXML
# file we have
# Correct the mimetype with the registered ones:
# http://technet.microsoft.com/en-us/library/cc179224.aspx
>>>>&26 string word/ Microsoft Word 2007+
!:mime application/vnd.openxmlformats-officedocument.wordprocessingml.document
>>>>&26 string ppt/ Microsoft PowerPoint 2007+
!:mime application/vnd.openxmlformats-officedocument.presentationml.presentation
>>>>&26 string xl/ Microsoft Excel 2007+
!:mime application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
>>>>&26 default x Microsoft OOXML
!:strength +10
~/file-5.11/magic/Magdir/msooxml
Quelle zu verwenden, was bei einigen von mir verwendeten PowerPoint-Beispieldateien nicht funktioniert hat. Die Version infile-5.17
funktioniert aber großartig (vielleicht etwas mit Tabs oder ... weiß nicht).file
5.04, was das MIME-Typ-Tag auf 64 Zeichen abschneidet (aber Sie warnt), wie @ stanley-c erwähnt. Ich habe auch Mac OS X Mavericks ausprobiert, konnte es aber nicht dazu bringen, die Regeln anzuwenden (obwohl es mich davor warnte, dass ich mich nicht der [und. In der zweiten Regel entziehen muss).Datei, Version vor 5.13, schneidet den MIME-Typ auf 64 Zeichen ab. Wenn Sie also den Inhalt von msooxml verwenden, wird der MIME-Typ aus dem Befehl file -bi zu "mime application / vnd.openxmlformats-officedocument.wordprocessingml.d; charset = binary".
quelle
Wenn Sie libreoffice's docx verwenden, können Sie Inhalt (unten) zu / etc / magic hinzufügen:
quelle