файл -i против точности свойств файла, как проверить, является ли файл текстовым

я использую ubuntu 18.04 LTS, я использую файл -i вместе с find и другие команды оболочки для создания списка текстовых файлов внутри папки, он работает как 99. В 9% случаев, но есть несколько исключений

из файла -i, это значит text/plain

$ ls -al
total 520
drwxr-xr-x 2 pi pi   4096 Dec 16 17:58 .
drwxr-xr-x 4 pi pi   4096 Dec 16 17:58 ..
-rw-r--r-- 1 pi pi 262144 Dec 16 17:58 NvStorageFtwSpare.bin

$ file -i NvStorageFtwSpare.bin
NvStorageFtwSpare.bin: text/plain; charset=iso-8859-1

while from file property, it's saying binary

enter image description here

i look at file content using textedit, it's indeed binary, so how do i get accurate information about file being text file or not? thank you!

0
задан 8 March 2021 в 10:10

1 ответ

MAN File говорит:

Файл тестирует каждый аргумент в попытке классифицировать его. Есть Три набора тестов, выполненные в этом порядке: тесты файловых систем, Волшебные тесты и языковые тесты. Первый тест, который преуспевает, вызывает напечатанный тип файла.

Вы можете попробовать эти варианты:

 -k, --keep-going
         Don't stop at the first match, keep going.  Subsequent matches will be have the string ‘\012- ’ prepended.  (If you want a
         newline, see the -r option.)  The magic pattern with the highest strength (see the -l option) comes first.

 -l, --list
         Shows a list of patterns and their strength sorted descending by magic(5) strength which is used for the matching (see also
         the -k option).
2
ответ дан 18 March 2021 в 23:28

Другие вопросы по тегам:

Похожие вопросы: