man parallel_tutorial
(for GNU parallel)次の黒魔術を見つけました:
LESS=+/EXAMPLE\: man parallel
man
ページでman
、less
、およびbash
を検索すると、これはless
と関係があるようです。 プリプロセッサですが、よくわかりません。この構文で他のマニュアルページを検索しようとした最初の数回は失敗しました。
+/...\:
bashの意味ですか?
それは何も意味しませんbashで。その単一のコマンドの$ LESS環境変数に格納されるのは任意のテキストです。
ただし、less
を実行すると、$ LESSの内容が読み取られ、コマンドライン引数のように解釈されます。通常、これは構成を保存する場所です。
(lessはプリプロセッサではありません。これは単純なテキストファイルビューア、別名ページャーです。man
にはリーダーが組み込まれていないことに注意してください。を介してテキストを生成するだけです。 groff(実際のプリプロセッサ)、次に常にlessまたは他のページャーを実行してスクロールします。このチュートリアルの作成者は、システムでlessを使用すると想定しています。どこにでもあるからです。)
lessが+
で始まる引数に遭遇すると、残りはさらにシミュレートするコマンドまたはキー押下として解釈されます。 +G
の場合、ファイルを開いた後にGを押したふりをして、下にスクロールします。
あなたの場合、lessは、ファイルを開いた後に/EXAMPLE:
と入力したふりをします。 /lessの検索キー/コマンドで、残りは検索するテキストです。
その結果、コマンドは「parallel」のマンページを開き、「EXAMPLE」というタイトルのセクションまでスクロールダウンします。
grawityの優れた答えが示す のように、これはless
ページャーに指示を与える方法です。この特定のケースでは、GNU Parallelのマニュアルとチュートリアルを使用すると、例を簡単に読むことができます。
オンラインマニュアル の目次からもわかるように、各例は文字列EXAMPLE:
で始まるため、コマンドLESS=+/EXAMPLE: man parallel
を使用すると最初の例にジャンプできます。 および後続の例を押して n (次の一致の場合)。
例えば:
(手動セクションの各ジャンプは n キープレス)