コマンドの特定のオプションの段落をすぐに取得するにはどうすればよいですか?


8

たとえば、マニュアル全体ではなく、マンページの検索を使用せずに、ターミナルプロンプトからすぐapt-get-fオプションにジャンプしたい。



1
@M。Becerra私の質問はより広いです。
RS

@Becerraこれはより広い質問であるだけでなく、別の質問でもあります。RSはman、個別の行の乱雑なリストを返すのではなく、の結果でオプションの段落全体を返したいからです。
karel 2017

回答:


6

が使用するデフォルトのポケットベルmanlessです。次のようにする必要がある場合はlessLESS環境変数を介して直接理解するERE(拡張正規表現)検索パターンを渡すことができます。

LESS='+/-f' man apt-get

これは/-f、実行後のパスとまったく同じman apt-getです。

これ-fで、manページ内のすべてのがハイライト表示され、目的のオプション(オプション-f)に直接ジャンプします。EREを利用して、スペース/タブで始まり、その後に続く行のみを照合できます-f

LESS='+/^[[:blank:]]+-f' man apt-get

これはここで実行されますが、すべてのページで正確であるとは限りませんが、これは-f最初のスペース/タブの後に始まるすべてに一致するためです。このような場合は、必要に応じてパターンを少し調整してください。

man頻繁に行う場合は、小さな関数を作成して、検索パターンと検索するページを引数として渡すことができます。


9

検索対象のスラッシュを入力して、Enterキーを押します。最初の発生にジャンプします。を押しNて次のオカレンスに移動し、B戻ります。したがって、この場合:

/-f <enter>

4
ダッシュの前にいくつかのスペースを追加してみてください。ほとんどの場合、オプションはインデントされており、オプションにジャンプします/ -f。これは、のインライン使用をバイパスする必要があり-fます。
トランジスタ1

1

sedハイフンで始まるオプションの段落全体を表示するために使用します。-f1つのコマンドを実行してオプションの段落全体をすぐに表示するには、次のコマンドを使用します。

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オプションの段落全体が返されます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

sedで追加情報を表示する

1つの段落の説明で十分な情報が得られない場合、次のコマンドは、最初の段落を前のコマンドと同じように表示し、次の段落もその後に表示します。

LESS='+/^[[:space:]]*-f' man apt-get  

このコマンドの結果は、次の段落はそれほど興味深いものではないことを示していますが、一部のオプションでは、次の段落も興味深いものです。そのため、これも知っておくと便利なコマンドです。

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