3
A
答えて
4
正常なUNIXを使用していることが分かっている場合は、システムコールをfile
にすることができます。
独立した実装が必要な場合はthere are several available on CPANです。おそらくfile
に最も近いのはFile::MMagicです。これは独自の実装であるため、どのシステムでも動作しますが、正確にはfile
のように動作しない可能性があります。
$ head test.pl
#!/usr/bin/env perl
use strict;
use warnings;
$ file test.pl
test.pl: a /usr/bin/env perl script text executable, ASCII text
$ perl -wlE 'use File::MMagic; $mm = File::MMagic->new; say $mm->checktype_filename(shift)' test.pl
x-system/x-unix; executable /usr/bin/env script text
0
File :: MMagicのbuilt-in magicはとても短く、無駄です。避ける。
代わりにFile::LibMagicを使用してください。これが最適です。
$ perl -mFile::LibMagic -MDDS -E \
'say Dump(File::LibMagic->new
->info_from_filename("Startopia EULA English.docx"))'
$HASH1 = {
description => 'Microsoft Word 2007+',
encoding => 'binary',
mime_type => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
mime_with_encoding => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=binary'
};
関連する問題
- 1. Linuxの "file"コマンドのようなPerlコマンドまたはモジュール
- 2. --forceのperlコマンドは確実にモジュールをインストールしますか?
- 3. wgetコマンドの代わりに使用するPerlモジュール
- 4. File :: Slurpで信頼できるPerlエンコーディング
- 5. Unixの "which"コマンドと同様に機能するPerlモジュールはありますか?
- 6. AWS Lambda zip fileコマンド
- 7. なぜこのPerlスクリプトはFile :: Tailモジュールを使用していないのですか?
- 8. DebianのPerl mysqlモジュール
- 9. Perl IPTablesモジュールのインストールエラー
- 10. たPerl:モジュール
- 11. perlでは "$ file =〜/^\./"は何を意味しますか?
- 12. Perlシステム(コマンド)then killコマンド
- 13. "GCC" コマンドは、 "perlの"
- 14. pipe find to `file`(コマンド)linuxコマンドrecursive
- 15. tclの "if {-s $ file-name}"と同等のコマンドは何ですか?
- 16. perlを使ってfile :: find :: ruleモジュールを使っていくつかのファイルを除外する方法?
- 17. PerlモジュールConfig :: IniFilesエラー
- 18. CPANモジュール用Perl archname
- 19. blueimp-file-upload-node npmモジュールとjQuery-File-Uploadプラグインの統合
- 20. のPerlモジュールの使用
- 21. perlモジュールを構築する
- 22. Perlモジュールのクレジットを付与
- 23. perlモジュールの使い方は?
- 24. Perl CGIモジュールの基本ヘルプ
- 25. perlパッケージdbd mysqlモジュールのスクリプト
- 26. perlモジュールのインストールClass-Load-XS
- 27. SNMPTTとperl snmpモジュールのトラブルシューティング
- 28. perlモジュールの外部confファイル
- 29. perlのFile :: Globはutf8 :: decodeで常にポストフィルタリングされるべきですか?
- 30. Perl - モジュール間での配列のハッシュ
'docx'ファイルをzipとして報告しますが、' file'コマンドも報告します。 – CJ7
@ CJ7 docxがzlibで圧縮されていても驚かないでしょう。これをファイル拡張子のデータベースと組み合わせなければならないかもしれません。 – Schwern
私は何らかの理由で拡張子を持たないファイルに対してのみこれを使用しています。 – CJ7