web-dev-qa-db-ja.com

`LESS = + / EXAMPLE \:`はどういう意味ですか?

man parallel_tutorial(for GNU parallel)次の黒魔術を見つけました:

LESS=+/EXAMPLE\: man parallel

manページでmanless、およびbashを検索すると、これはlessと関係があるようです。 プリプロセッサですが、よくわかりません。この構文で他のマニュアルページを検索しようとした最初の数回は失敗しました。

+/...\: bashの意味ですか?

11
isomorphismes

それは何も意味しませんbashで。その単一のコマンドの$ LESS環境変数に格納されるのは任意のテキストです。

ただし、lessを実行すると、$ LESSの内容が読み取られ、コマンドライン引数のように解釈されます。通常、これは構成を保存する場所です。

lessはプリプロセッサではありません。これは単純なテキストファイルビューア、別名ページャーです。manにはリーダーが組み込まれていないことに注意してください。を介してテキストを生成するだけです。 groff(実際のプリプロセッサ)、次に常にlessまたは他のページャーを実行してスクロールします。このチュートリアルの作成者は、システムでlessを使用すると想定しています。どこにでもあるからです。)

less+で始まる引数に遭遇すると、残りはさらにシミュレートするコマンドまたはキー押下として解釈されます。 +Gの場合、ファイルを開いた後にGを押したふりをして、下にスクロールします。

あなたの場合、lessは、ファイルを開いた後に/EXAMPLE:と入力したふりをします。 /lessの検索キー/コマンドで、残りは検索するテキストです。

その結果、コマンドは「parallel」のマンページを開き、「EXAMPLE」というタイトルのセクションまでスクロールダウンします。

11
user1686

grawityの優れた答えが示す のように、これはlessページャーに指示を与える方法です。この特定のケースでは、GNU Parallelのマニュアルとチュートリアルを使用すると、例を簡単に読むことができます。

オンラインマニュアル の目次からもわかるように、各例は文字列EXAMPLE:で始まるため、コマンドLESS=+/EXAMPLE: man parallelを使用すると最初の例にジャンプできます。 および後続の例を押して n次の一致の場合)。

例えば:

screencap of jumping through manual

手動セクションの各ジャンプは n キープレス

7
bertieb