Я прочитав сторінку man та інші посилання, але мене все ще бентежить поведінка пошуку з -print0
можливістю.
-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