Команда Unix 'file' имеет параметр -0 для вывода нулевого символа после имени файла. Предположительно, это удобно для использования с «разрезом».Как «разрезать» на нуль?
От 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' НЕ печататься - что делает больше смысла для меня)
Как вы можете использовать 'вырезать' извлечь имя файла из вывода файла?
Это то, что я хочу сделать:
find . "*" -type f | file -n0iNf - | cut -d<null> -f1
где <null>
является символом NUL.
Ну, это то, что я пытаюсь сделать, что я хочу сделать, это получить все имена файлов из дерева каталогов с определенным типом MIME. Я использую grep (не показан).
Я хочу обрабатывать все юридические имена файлов и не застревать имена файлов с двоеточиями, например, от их имени. Следовательно, NUL будет превосходным.
Я думаю, что безрезультатные решения тоже прекрасны, но я не хочу отказаться от простой идеи.
Это pr возможно, только то, что я не пробовал! Благодаря! – philcolbourn
@philcolbourn: Добро пожаловать! – ruakh
Это не работает вообще. 'cut: bad delimiter' (Mac OS X) – Sukima