file /usr/bin/file
, například nezahrnuje slovo "binární" ve svém výstupu v mém systému. Pokud file -i
je k dispozici, obsahuje slovo „binární“. Bez -i
, může být spolehlivější otestovat přítomnost slova „text“.
find -type f -exec sh -c "file {} | grep text >/dev/null" \; -print
nebo
find -type f -exec sh -c "file {} | grep text >/dev/null" \; -ls
Pomocí -i
:
find -type f -exec sh -c "file -i {} | grep -v binary >/dev/null" \; -print
Pomocí file
bude pouze přiblížením, protože k určení typu souboru používá heuristiku a neexistuje žádná pevná a rychlá definice toho, co tvoří „binární“ soubor. Je prázdný soubor "binární"? file
říká, že je. Existuje také mnoho (obvykle neobvyklých) způsobů, jak spustit falešně pozitivní ID pomocí file
.
Dalším způsobem by bylo vyloučit všechny soubory, které mají nastaveno oprávnění ke spuštění pro uživatele, skupinu nebo jiné:
find . -type f ! -perm /u=x,g=x,o=x
(Pokud se binární rovná oprávnění ke spuštění...)
Jak vyberu veškerý text ze souboru s nano?
Sudo - existuje příkaz pro kontrolu, zda mám sudo a/nebo kolik času zbývá?