Files
快速區分 ELFve 和腳本
如何
file
盡快區分 ELFve 和腳本?我不需要任何進一步的細節,只需要ELF、腳本(/plaintext)或其他 /error。
如果它只是在 ELF 和腳本之間,你可能根本不需要
file
。與bash
:IFS= LC_ALL=C read -rn4 -d '' x < file case $x in ($'\x7fELF') echo ELF;; ("#!"*) echo script;; (*) echo other;; esac
(
-d ''
((使用 NUL 字元作為分隔符)是為了解決bash
’read
否則只會忽略輸入中的 NUL 字節的事實)。也可以看看:
創建一個自定義的magic(5)文件,其中只包含您需要的測試。
elf
可以從https://github.com/file/file/blob/master/magic/Magdir/elf獲取庫存測試,然後進一步減少。text
是內置的,所以你不需要包含它。為了避免每次都解析它,把它放在它自己的目錄中並編譯它
mgc
:file -C -m dir
這將輸出
dir.mgc
. (指定-m dir/
將改為輸出.mgc
。)然後它將被後續執行使用:file -m dir