最近、Scott Nesbittの記事「Linuxコマンドラインでテキストファイルを表示するためにlessを使用する」を読み、 less
で使用する追加のヒントやコツを共有するように促されました。 。
LESS env var
環境変数LESS
がある場合 定義済み(例: .bashrc
)、 less
コマンドラインで渡されたかのように、オプションのリストとして扱います。
私はこれを使用します:
LESS='-C -M -I -j 10 -# 4'
これらの意味:
-
-C
–下からスクロールしないことで、全画面の再印刷を高速化します。 -
-M
–最後の(ステータス)行からより多くの情報を表示します。-PM
で表示される情報をカスタマイズできます 、しかし私は通常気にしません。 -私コード> –検索では大文字と小文字(上/下)を無視します。
-
-j 10
–検索結果をターミナルの最初の行ではなく10行目に表示します。このようにして、n
を押すたびに10行のコンテキストがあります (またはN
)次の(または前の)試合にジャンプします。 -
-#4
–右矢印キーまたは左矢印キーを押すと、4文字を右または左にジャンプします。デフォルトでは、画面の半分をジャンプしますが、これは通常、多すぎると思います。一般的に、less
画面の半分をジャンプするのが理にかなっているときに、低速モデムと低帯域幅のインターネット接続を使用して、最初に開発された環境に(少なくとも部分的に)最適化されているようです。
PAGER env var
多くのプログラムは、 PAGER
で設定されたコマンドを使用して情報を表示します 環境変数(設定されている場合)。したがって、 PAGER =less
を設定できます .bashrc
で プログラムをless
で実行します 。マニュアルページenviron(7)を確認してください( man 7 environ
)他のそのような変数の場合。
-S
プログラミングと開発
- RedHat開発者ブログ
- チートシートのプログラミング
- 無料でお試しください:RedHatLearningサブスクリプション
- eBook:Bashを使用したプログラミングの概要
- Bashシェルスクリプトのチートシート
- eBook:エンタープライズJavaの最新化
コマンドラインオプション-S
less
に通知します 長い行を折り返すのではなく、切り刻む。ファイルの表示を開始しない限り(そしてそれまで)、これが必要になることはめったにありません。幸い、 less
内にすべてのコマンドラインオプションを入力できます まるでキーボードコマンドのように。したがって、すでにファイルに入っているときに長い行を切り刻む場合は、 -S
と入力するだけです。 。
これが私がよく使う例です:
su - postgres
export PAGER=less # Because I didn't bother editing postgres' .bashrc on all the machines I use it on
psql
後でSELECT
の出力を表示するときに時々 非常に広い出力のコマンド、私は -S
と入力します うまくフォーマットされます。右矢印を押して詳細を表示したときにジャンプしすぎる場合(-#
を設定しなかったため) )、-#8
と入力できます 、次に右矢印を押すたびに、8文字が右に移動します。
-S
と入力した後 何度もpsqlを終了し、次のように入力してから再度実行します:
export LESS=-S
F
コマンドF
を少なくする
tail -f
のように機能します -ファイルにデータが追加されるまで待ってから表示します。これがtail-f
よりも優れている点の1つ 検索一致の強調表示は引き続き機能します。したがって、 less / var / log / logfile
と入力できます。 、何かを検索します。これにより、すべての出現箇所が強調表示されます( -g
を使用した場合を除く) )—次に F
を押します 。より多くのデータがログに書き込まれると、 less
それを表示し、新しい一致を強調表示します。
F
を押した後 、 Ctrl + C
を押すことができます 新しいデータの検索を停止します(これによってデータが削除されることはありません)。ファイルに戻って古いものを確認したり、他のものを検索したりします。次に、 F
を押します もう一度、新しいデータを確認します。
検索
検索ではシステムのregexpライブラリが使用されます。これは通常、拡張正規表現を使用できることを意味します。特に、 one | two | three
を検索します 1つ、2つ、または3つの出現箇所をすべて見つけて強調表示します。
私がよく使用するもう1つのパターンは、特に幅の広いログ行(たとえば、複数の端末行にまたがる行)で、。*something。*
です。 、行全体を強調表示します。このパターンにより、線の始点と終点を簡単に確認できます。また、次のようにこれらを組み合わせます:。*onething。*|。*anotherthing。*
、または key:。*|。*marker。*
key
の内容を確認するには (たとえば、辞書/ハッシュのダンプを含むログファイルで)関連するマーカー行を強調表示します(コンテキストがあるため)。または、値が引用符で囲まれていることがわかっている場合でも、次のようになります。
key: '[^']*'|.*marker.*
少ないコード> 検索アイテムの履歴を維持し、将来の呼び出しのためにそれらをディスクに保存します。
/
を押すと (または?コード> )、上矢印または下矢印を使用してこの履歴を確認できます(基本的な行編集も実行できます)。
less
をざっと見たときに、非常に便利な機能と思われる機能に出くわしました。 この記事を書いている間のマニュアルページ:&!pattern
で興味のない行をスキップする 。たとえば、 / var / log / messages
で何かを探している場合 、私はこのコマンドのリストを繰り返し処理していました:
cat /var/log/messages | egrep -v 'systemd: Started Session' | less
cat /var/log/messages | egrep -v 'systemd: Started Session|systemd: Starting Session' | less
cat /var/log/messages | egrep -v 'systemd: Started Session|systemd: Starting Session|User Slice' | less
cat /var/log/messages | egrep -v 'systemd: Started Session|systemd: Starting Session|User Slice|dbus' | less
cat /var/log/messages | egrep -v 'systemd: Started Session|systemd: Starting Session|User Slice|dbus|PackageKit Daemon' | less
しかし今、私は less
内で同じことをする方法を知っています 。たとえば、&!systemd:Started Session
と入力できます。 次に、 systemd:Starting Session
を削除することを決定します 、&!
と入力して追加します 上矢印を使用して、履歴から前の検索を取得します。次に、 | systemd:Starting Session
と入力します Enter
を押します 、もっと面白いものを見るのに十分なフィルターをかけるまで、同じ方法でさらにアイテムを追加し続けます。
=
コマンド=
-M
よりもさらに多くの、ファイルと場所に関する詳細情報を表示します 。ファイルが非常に長く、 =
を計算している場合 時間がかかりすぎる場合は、 Ctrl + C
を押すことができます 試行を停止します。
表示しているコンテンツがファイルではなくパイプからのものである場合、 =
(および -M
)は、ファイル内の行数やバイト数など、認識していないものを表示しません。そのデータを表示するには、そのコマンド
を知っている場合 すぐに終了します。G
で最後にジャンプできます 、次に less
その情報の表示を開始します。
G
を押すと パイプへのコマンドの書き込みに予想よりも時間がかかる場合は、 Ctrl + C
を押すことができます 、およびコマンドは強制終了されます。 Ctrl + C
を押す G
を押さなくても殺します 、 Ctrl + C
を押さないように注意してください あなたがそれを殺すつもりがないなら、偶然に。このため、コマンドが何かを実行する場合(つまり、情報を表示するだけではない場合)、通常は、パイプを使用するよりも、出力をファイルに書き込んで別の端末でファイルを表示する方が安全です。
必要なものが少ない理由
少ないコード> は非常に強力なプログラムであり、
most
など、この分野の新しい競合他社とは対照的です。 およびmoar
、 vi
のように、使用するほとんどすべてのシステムで見つかる可能性があります。 。したがって、GUIビューアまたはエディタを使用している場合でも、 less
を実行するために時間を費やす価値があります。 少なくとも利用可能なものの感覚を得るために、manページ。このように、既存の機能でカバーされている可能性のあることを行う必要がある場合は、マニュアルページまたはインターネットを検索して必要なものを見つけることができます。
詳細については、lessホームページにアクセスしてください。このサイトには、より多くのヒントやコツが記載されたすばらしいFAQがあります。