Это было проверено в Эль-Капитане и в Высшей Сьерре коллеги, в стандартном Терминале (bash).
user@hostname ~ $ man ls | grep "BU"
BUGS
user@hostname ~ $ man ls | grep "BUG"
user@hostname ~ $
user@hostname ~ $ man ls | grep "IEEE"
files in order to be compatible with the IEEE Std 1003.2 (``POSIX.2'')
The ls utility conforms to IEEE Std 1003.1-2001 (``POSIX.1'').
Для пояснения: «ОШИБКИ» - это заголовок раздела в этих (и других различных) страницах. Для заголовков разделов grepping работает только для первых 2 символов; это согласуется с несколькими заголовками разделов, которые мы пробовали. Для остальной части контента, grep
кажется, работает как ожидалось.
Я запустил ssh'd в Linux-боксе без вкуса BSD (Amazon Linux), и он, похоже, не демонстрирует такого же поведения.
Что тут происходит?
man foo | grep bar
, я получаю не отвечающий конвейер (и, возможно, испорченный терминал для загрузки). : / mandb man , который вы обычно видите в Linux, более разумен.