Например, вместо всего руководства apt-get
я хочу сразу перейти к -f
опции из терминала, не используя поиск по man-странице.
man
, вместо того, чтобы возвращать беспорядочный список отдельных строк.
Например, вместо всего руководства apt-get
я хочу сразу перейти к -f
опции из терминала, не используя поиск по man-странице.
man
, вместо того, чтобы возвращать беспорядочный список отдельных строк.
Ответы:
По умолчанию пейджер используется man
это less
. Вы можете передать шаблон поиска ERE (Extended Regular Expression), который less
понимает его непосредственно через LESS
переменную окружения, в вашем случае следует сделать следующее:
LESS='+/-f' man apt-get
Это точно так же, как прохождение /-f
после выполнения man apt-get
.
Теперь это выделит все -f
s на man
странице, чтобы перейти прямо к нужному параметру -f
, т. Е. Вы можете использовать ERE для соответствия только тем строкам, которые начинаются с пробелов / табуляций, а затем -f
:
LESS='+/^[[:blank:]]+-f' man apt-get
Хотя это будет сделано здесь, но все же может быть не точным для всех страниц, так как это будет соответствовать всему, что начинается -f
после начальных пробелов / табуляции. Измените шаблон немного, чтобы удовлетворить ваши потребности в этих случаях.
Вы можете создать крошечную функцию для передачи шаблона поиска и man
страницы для поиска в качестве аргументов, если вы делаете это часто.
Введите косую черту, то, что вы ищете, и нажмите клавишу ввода. Вы перейдете к первому вхождению. Нажмите, Nчтобы перейти к следующему вхождению и Bвернуться назад. Итак, в этом случае:
/-f <enter>
/ -f
. Это должно обойти любые встроенные использования -f
.
Используйте sed
для отображения всего абзаца параметра, начинающегося с дефиса. Чтобы показать весь абзац -f
опции сразу, запустив одну команду, используйте:
man apt-get | sed -n '/-f,/,/^$/p'
-f-,--no-f, -f=no or several other variations.
-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
This option, when used with install/remove, can omit any packages
to permit APT to deduce a likely solution. If packages are
specified, these have to completely correct the problem. The option
is sometimes necessary when running APT for the first time; APT
itself does not allow broken package dependencies to exist on a
system. It is possible that a system's dependency structure can be
so corrupt as to require manual intervention (which usually means
using dpkg --remove to eliminate some of the offending packages).
Use of this option together with -m may produce an error in some
situations. Configuration Item: APT::Get::Fix-Broken.
Это возвращает весь абзац для -f
опции в man, apt-get
но приведенную выше команду можно улучшить, удалив запятую после, -f
чтобы сделать ее более полезной, как показано ниже:
man apt-get | sed -n '/-f/,/^$/p'
Это возвращает несколько абзацев, большинство из которых вы не хотите читать. Прочитав первые строки нескольких абзацев, вы увидите, что хотите показать только абзац, содержащий эту -f, --fix-broken
опцию. Сделайте это следующим образом:
man apt-get | sed -n '/--fix-broken/,/^$/p'
-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
This option, when used with install/remove, can omit any packages
to permit APT to deduce a likely solution. If packages are
specified, these have to completely correct the problem. The option
is sometimes necessary when running APT for the first time; APT
itself does not allow broken package dependencies to exist on a
system. It is possible that a system's dependency structure can be
so corrupt as to require manual intervention (which usually means
using dpkg --remove to eliminate some of the offending packages).
Use of this option together with -m may produce an error in some
situations. Configuration Item: APT::Get::Fix-Broken.
Это возвращает только вывод, который вы хотите прочитать. Этот метод работает с любыми другими опциями, которые начинаются с дефиса, и он также работает в основном для поиска опций, которые начинаются с дефиса в других командах, кроме как просто apt-get
слишком.
Если описание в одном абзаце не дает достаточной информации, следующая команда покажет первый абзац такой же, как предыдущая команда, а также следующие абзацы после нее.
LESS='+/^[[:space:]]*-f' man apt-get
Результаты этой команды показывают, что следующие абзацы не очень интересны, но для некоторых вариантов интересны и следующие абзацы. Вот почему это также полезная команда, чтобы знать.