Tôi đã đọc trang man và các tài liệu tham khảo khác, nhưng tôi vẫn bối rối bởi hành vi tìm kiếm với -print0
tùy chọn.
-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).
Lệnh đầu tiên:
$ 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
Lệnh thứ hai:
$ 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
Tôi có thể thấy rằng tên tệp từ lệnh thứ hai được tách biệt ký tự, nhưng tại sao tôi nhận được 3 đầu ra trái ngược với 5 ở trên?
1
Về mặt kỹ thuật, chúng bị hủy kết thúc , không tách biệt. (Có một NUL sau mỗi tên đường dẫn, bao gồm cả tên cuối cùng.)
—
cjm