grep man-страница команды для дефиса

Когда я grep man-страница команды find для совпадений с type она возвращает много результатов поиска, которые я не хочу. Вместо этого я хочу использовать команду, которая возвращает только результаты поиска для -type .

Командный man find | grep -type man find | grep -type не работает. Он возвращает:

 grep: invalid option -- 't' 

  • В каких разделах раздела «n», «l», «3pm» руководства?
  • Почему оболочки не имеют правильных страниц?
  • Что делает команда history! # Do?
  • Он-лайн персональные страницы с терминала
  • Типография Manpage и правильные тире
  • Debian - установить отсутствующие man-страницы?
  • Ошибка анализа на блоке таймера systemd. Неверная документация?
  • Есть ли способ найти установленные бинарные пакеты, которые не имеют manpages?
  • 2 Solutions collect form web for “grep man-страница команды для дефиса”

    Если вы хотите использовать grep для шаблона, начинающегося с дефиса, используйте -- перед указанным шаблоном.

     man find | grep -- -type 

    Если вам нужна дополнительная информация, например, весь раздел, описывающий параметр, вы можете попробовать использовать Sed:

     $ man find | sed -n '/-mindepth/,/^$/p' -mindepth levels Do not apply any tests or actions at levels less than levels (a non-negative integer). -mindepth 1 means process all files except the command line arguments. 

    Однако это не будет работать для каждого параметра, который вы можете выполнить. Например:

     $ man find | sed -n '/^[[:space:]]*-type/,/^$/p' -type c File is of type c: 

    Не очень полезно. Хуже того, для некоторых вариантов вы могли бы ввести в заблуждение, думая, что вы прочитаете весь текст об этом варианте, когда вы этого не сделали. Например, поиск -delete исключает очень важное ПРЕДУПРЕЖДЕНИЕ, содержащееся в качестве второго абзаца под этим заголовком.


    Моя рекомендация – использовать стандартный вызов man с заданной переменной среды LESS . Я использую его довольно часто в моих ответах на этом сайте.

     LESS='+/^[[:space:]]*-type' man find 

    Чтобы узнать больше о том, как это работает, см.

     LESS='+/^[[:space:]]*LESS ' man less LESS='+/\+cmd' man less LESS='+/\/' man less 

    Если вы просто хотите быстро и интерактивно найти эту опцию на странице руководства, научитесь использовать less возможностей поиска. А также см .:

    • Как использовать справочные страницы, чтобы узнать, как использовать команды?

    Или труба less и кормить, что поисковый термин:

     man 1 find | less -p ' -type' 

    (Это может привести к сбою в зависимости от того, что less корма, например, если -type был выделен жирным шрифтом).

    Linux и Unix - лучшая ОС в мире.