Я прочитал справочную страницу и другие ссылки, но меня все еще смущает поведение find с -print0option.
-print0 This primary always evaluates to true. It prints the pathname of
the current file to standard output, followed by an ASCII NUL
character (character code 0).
Первая команда:
$ find /some/path/ -iname "*intro*jpeg" -o -iname "*intro*jpg" 2> /dev/null
/some/path//asdf199Intro-5kqlw.jpeg
/some/path/199intro-2jjaj.JPEG
/some/path/199intro-3.jpg
/some/path/wuer199intro-4.JPG
/some/path/xbzf199INTRO-1.jpg
Вторая команда:
$ find /some/path/ -iname "*intro*jpeg" -o -iname "*intro*jpg" 2> /dev/null -print0
/some/path/136intro-3.jpg/some/path/wuer136intro-4.JPG/some/path/xbzf136INTRO-1.jpg
Я вижу, что имена файлов второй команды разделены нулевыми символами, но почему я получаю 3 вывода, а не 5 выше?
1
Технически, они заканчиваются нулем , а не разделяются нулями. (Существует NUL после каждого пути, включая последний.)
—
cjm