Files

快速區分 ELFve 和腳本

  • September 1, 2018

如何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 字元作為分隔符)是為了解決bashread否則只會忽略輸入中的 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

引用自:https://unix.stackexchange.com/questions/287420