Як перейти до певного прапора на сторінці в Unix?


23

Читаючи на сторінці терміналу Unix у терміналі, як я можу легко перейти до опису конкретного прапора?

Наприклад, мені потрібно знати значення -oпрапора для mount. Я біжу man mountі хочу стрибнути до місця, де -oописано. В даний час я шукаю, /-oале цей варіант згадується в декількох місцях перед розділом, який насправді описує його, тому я повинен стрибати навколо.

Спасибі.

Відповіді:


27

Те, що я роблю, - це розмістити кілька порожніх пробілів перед прапором так:

/     -o

Це не на 100% надійно, але ви проскакуєте через набагато менше обручів. Якщо ви хочете ще кращої успішності, спробуйте "/^ +-o". Це знайде рядки, що починаються з пробілів і слідують за -o. Я б не хотів часто набирати цю дивну рядок.


11

Я визначив цю функцію в своїй .bashrc

function manswitch () { man $1 | less -p "^ +$2"; }

який ви можете використовувати наступним чином

manswitch grep -r

Я отримав це з цього командного рядка .

Примітка: аргумент для -pперемикання less- це повторне вираження, що говорить менше шукати рядок, що починається з ( ^) одного або декількох пробілів ( +), а потім перемикача (другий аргумент. Так $2), тому він має перевагу роботи з різним форматуванням.


5

Також ви можете відкрити сторінку чоловіка на певній позиції з командного рядка

man -P 'less -p "     -o"' mount

Запропонований тим, що це можливо, але це набрати трохи більше, ніж шукати всередині людини. Дякую, хоча!
dotancohen

Це досить корисно, щоб надіслати когось до точного місця на сторінці чоловіка :)
киньте

Так, я просто думав, що якщо мені доведеться з якихось причин відкрити чоловічу сторінку в сценарії, це було б також корисно. Дякую!
dotancohen

3

@ piccobello відповідь чудова, але вона їла кольори на сторінках моєї людини. Замість того, щоб перейти до системи less(оскільки зазвичай manвикористовується lessза замовчуванням зазвичай), я просто передаю змінену lessкоманду man:

function manswitch() { man -P "less -p \"^ +$2\"" $1 }

Це зберігає функціонал @piccobello, який мав у своїй функції, але зберігає кольори.


1

Інші рішення є досить хорошими, але також пам’ятайте, що підручні сторінки - це лише дані, і ви можете легко зробити з ними практично все, що завгодно, в Linux.

man some-command> file.txt

перетворює сторінку в звичайний текстовий файл, яким ви можете потім маніпулювати. Я зберігаю копію bash-посібника як текст у своєму каталозі bin, щоб я міг просто завантажити його у свій текстовий редактор для пошуку речей, копіювання та вставлення під час редагування сценаріїв.

Або ви можете передавати його в такі фільтри, як

людина якась команда | grep -A рядки-після "деякого шаблону"

Хоча це не працює для вас у терміналі, я (за допомогою друга) навіть написав сценарій, який захоплює чоловічу сторінку та відображає її у веб-браузері, щоб я міг використовувати її функції навігації / пошуку, які набагато кращі ніж менше. Це трохи kde залежно, але легко змінити.

http://dl.dropbox.com/u/54584985/kman


3
Ви можете спробувати man://у Konqueror. KDE має керовану сторінку KIOSLAVE!
dotancohen

@dotancohen - Класно. Не знав про це.
Джо

@dotancohen -Я щойно спробував це в дельфіні, він також працює, але відображає довідкові сторінки як каталоги та файли та запускає браузер за замовчуванням, коли клацнеш на файл. Я не розумію частини про KIOSLAVE. Я спробував man: // kioslave, і це було те саме, що і людина: //.
Джо

@dotancohen - Неважливо - я шукав кіослави на wikipedia. en.wikipedia.org/wiki/KIO
Джо

Так, KDE має майже все. Насолоджуйтесь!
dotancohen

1

Я написав інструмент, який робить саме це, під назвою флагман . Ще в розробці, але вже корисний. Наприклад:

$ ./flagman mount -o
       -o, --options opts
              Use the specified mount options.  The opts argument is a comma-separated list.  For example:

                     mount LABEL=mydisk -o noatime,nodev,nosuid


              For more details, see the FILESYSTEM-INDEPENDENT MOUNT OPTIONS and FILESYSTEM-SPECIFIC MOUNT OPTIONS sections.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.