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(で始まる行を探しにあまり伝える正規表現である^)、1つ以上のスペース(+スイッチが続く)(第2引数そう。$2、それは異なるフォーマットでの作業の利点を持っているので)。


5

また、コマンドラインから特定の位置のマニュアルページを開くことができます

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

可能であることに賛成ですが、それは人間の中から検索するよりも入力する方がかなり多くあります。でもありがとう!
-dotancohen

manページの正確な場所に誰かを送るのはとても便利です:)
ラッシュ

はい、何らかの理由でスクリプト内のマニュアルページを開かなければならない場合にも役立つと考えていました。ありがとうございました!
-dotancohen

3

@piccobelloの答えは素晴らしいですが、それは私のmanページの色を食べていました。less(デフォルトでmanすでに使用lessされているため)にパイピングする代わりに、変更したlessコマンドをman次のように渡します。

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

これにより、@ piccobelloの機能にあった機能は保持されますが、色は保持されます。


1

他のソリューションは非常に優れていますが、manページは単なるデータであり、Linuxでほとんど何でも簡単に実行できることを忘れないでください。

man some-command> file.txt

ページをプレーンテキストファイルに変換してから、操作できるようにします。私はbinディレクトリにテキストとしてbashマニュアルのコピーを保持しているので、それをテキストエディターにロードして、スクリプトを編集している間に物事を検索してコピーアンドペーストすることができます。

または、次のようなフィルターにパイプすることができます

man some-command | grep-"some pattern"の後の行

ターミナルでは機能しませんが、私は(友人の助けを借りて)マニュアルページを取得してWebブラウザに表示するスクリプトを作成して、ナビゲーション/検索機能を使用できるようにしました。より少ない。少しkdeに依存していますが、簡単に変更できます。

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


3
man://Konquerorで試してみてください。KDEにはKIOSLAVEのマンページがあります!
-dotancohen

@dotancohen-かっこいい。それについて知らなかった。
ジョー

@dotancohen-イルカで試してみましたが、それでも動作しますが、マニュアルページをディレクトリとファイルとして表示し、ファイルをクリックするとデフォルトのブラウザを起動します。私はKIOSLAVEについての部分を理解していません。man:// kioslaveを試しましたが、man://と同じでした。
ジョー

@dotancohen-気にしない-ウィキペディアでキオスラベを調べました。 en.wikipedia.org/wiki/KIO
ジョー

ええ、KDEにはほぼすべてのものがあります。楽しい!
-dotancohen

1

flagmanと呼ばれる、まさにこれを行うツールを作成しました。まだ開発中ですが、すでに使用可能です。例えば:

$ ./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.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.