開いているファイルに対して less でマイコマンドを実行します。可能ですか?

開いているファイルに対して less でマイコマンドを実行します。可能ですか?

lessこのコマンドで私のコマンドを実行できるかどうか疑問に思います。私の言うことは、ファイルを開いlessて画面をそのまま維持しながら、私が見るもの(または必要に応じてファイル全体)に対していくつかのコマンドを実行できることです。たとえば、現在見ている内容を異なる方法で表示したり、ファイルの特定の行を表示または非表示にしたりするさまざまなスクリプトを実行したいとします。

毎回異なる方法で実行できることはわかっていますが、cat <file> | my-script | less -R編集者と同じ経験を提供するわけではありませんless

ベストアンサー1

lessのコマンドを使用して、|他のプログラムを介してファイルを転送できます。

  1. によると|
  2. マーカー文字またはまたは^または$を入力してください.
  3. 実行するシェルコマンドを入力します。
  4. によるとEnter

現在位置とマークの間のファイル部分のみをパイプします。マークは、それぞれファイルの始まりと終わりを示すか、コマンドで定義された場所にすることができます^。表示が前にある場合は、現在位置は画面の一番下の行になり、そうでない場合は画面の一番下の行になります。特にファイル全体をパイプするには、またはを使用してファイルの一方の端に位置を設定し、もう一方の端にタグを設定します。画面に表示される行だけをパイプするには、タグを使用してください。$m<|$mycommand>|^mycommand.

コマンドの出力は画面に残りません。 lessで出力を参照するには、別のインスタンスを起動する必要がありますrot13 | less。たとえば、2番目のlessインスタンスを終了すると、1番目のインスタンスに戻ります。現在のインスタンスのコンテンツは、現在のインスタンスから送信されたデータに置き換えることはできません。色を表示するにはを実行することを忘れないでくださいless -R

おすすめ記事