Команда Unix 'file' имеет опцию -0 для вывода нулевого символа после имени файла.Предположительно, это хорошо для использования с 'cut'.
From man file
:
-0, --print0
Output a null character ‘\0’ after the end of the filename. Nice
to cut(1) the output. This does not affect the separator which is
still printed.
(Обратите внимание, что в моем Linux разделитель '-F' НЕ печатается - что делаетбольше смысла для меня.)
Как вы можете использовать 'cut' для извлечения имени файла из вывода 'file'?
Это то, что я хочу сделать:
find . "*" -type f | file -n0iNf - | cut -d<null> -f1
где <null>
- это символ NUL.
Что ж, это то, что я пытаюсь сделать, я хочу получить все имена файлов из дерева каталогов, которые имеют определенный тип MIME.Я использую grep (не показан).
Я хочу обрабатывать все допустимые имена файлов и не зацикливаться на именах файлов с двоеточиями, например, в их имени.Следовательно, NUL был бы превосходным.
Полагаю, что и неразрезанные решения тоже хороши, но я не хочу отказываться от простой идеи.