マニュアルページを開いて検索を実行するコマンドが機能しないのはなぜですか? [コピー]

マニュアルページを開いて検索を実行するコマンドが機能しないのはなぜですか? [コピー]

これマニュアルページを開き、単一のコマンド内で文字列を検索します。質問の半分は私がやりたいことを扱っています。

man chmodを実行してから/ a + xを実行して、a + xが上記のchmodのマニュアルページの最初の部分に移動するのではなく、特定の検索文字列のマニュアルページを開く方法があるかどうか疑問に思います。 vi(m)でこれを行い、vi + string filename.txtを実行する方法。

選択した回答は

man foobar | less +/searched_string

しかし、私が試したとき

man tmux | less +/^format

発売回数は減りましたが、また戻ってきます。

パターンが見つかりません(RETURNを押す)。

なぜパターンが見つかりませんか?


オペレーティングシステム - Ubuntu 15.10

% less --version
less 458 (GNU regular expressions)
Copyright (C) 1984-2012 Mark Nudelman

ベストアンサー1

環境変数を使用して、LESS実行中の個々のコマンドをオーバーライドします。

また見なさい:

LESS='+/LESS[[:space:]]*Options' man less
LESS='+/\+cmd' man less
LESS='+/optional variable assignments' man bash
LESS=+/SIMPLE\ COMMAND\ EXPANSION man bash

私はしばらく前にメタポストでこれについてもっと広く議論しました。


検索パターンを作成するときに覚えておくべきこと:長い段落の途中で複数の連続した単語を選択すると、サイズの異なる端末でそのマニュアルページを表示したときに同じ行にないことがあります。たとえば、以下はフルスクリーン端末で機能します(私のものモニター)しかし、単語が複数行にわたって分割されるため、80列の端末ではそうではありません。

LESS=+/allowing' a shell script' man bash

以下は、単語間隔がどのように処理されるかによってman端末で信頼できません。

LESS=+/"The latest version" man bash

次の2つのコマンドは同じ場所に到達しますが、移植性が優れています。

LESS=+/^INVOCATION man bash
LESS=+/^BUG man bash

おすすめ記事