改行を使用して人のパラメータ/フラグ/オプションを検索するには?

改行を使用して人のパラメータ/フラグ/オプションを検索するには?

man改行は通常、次のようにパラメータ/フラグ/オプションセクションに含まれています。

-s
    silent

-s上の例のように、後に改行文字を含む項目をどのように見つけることができますか?

目的は、-sテキストブロック内で発生する状況(つまり、後に改行が来ない状況)を防ぐことです。

ベストアンサー1

どのページャを使用するかによって異なります。

lessポケットベルを使用している場合、検索文字列(または/を入力したとき?)は実際には拡張正規表現(less特定の拡張子を含む)です。

正規表現として、-s$行末のaと一致します(またはで呼び出すと、検索はデフォルト-sで大文字と-S小文字を無視しますが、検索パターンに大文字が含まれていない場合、入力は大文字と小文字を区別します)。一致し、その後にゼロ個以上の空白文字が続き、行が終了します。lessman-i-s[[:space:]]*$-s

ポケットベルを使用すると、most検索は行の内容内にある一般的な文字列であるため、選択の余地はありません。

man環境変数を使用して、フォーマットされたマニュアルページを表示するために使用するページャを指定できます$PAGER。 fromを実装すると、環境変数よりも優先されるオプションを使用して指定man-dbできます。環境変数自体は変数よりも優先されます。-P$MANPAGER$PAGER

デフォルトで使用されるポケットベルは、システムとman実装によって異なります。私のシステム(Debian)では、コマンドが呼び出されます(manfromman-dbpagerdpkgの代替デフォルトではless)ですが、いくつかのless特定の設定があります(多くのLESS*環境変数を設定します)。

フォーマットされた出力を直接パイプすることもできますman some-topic | less。または起動時にパターン検索を開始します。ただし、出力をリダイレクトすると、man-dbを使用して実装するとフォーマットが無効になります。lessman some-topic | less '+/-s$'lessman

代わりに、less環境変数を使用してオプションのリストを提供できますが、これには特別な意味が$LESSあるため$、エスケープする必要があります。

LESS='--use-backslash +/-s\$' man -P less some-topic

おすすめ記事