GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでのテキストファイルの少ないビューアの高度な使用

最近、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があります。


Linux
  1. コマンドラインで使用するのが大好きな6つのLinuxメタ文字

  2. Sedテキストエディタの使い方を学ぶ

  3. less (linux) ファイル内の X オフセットの取得/移動

  1. LinuxでTarコマンドを使用する方法

  2. Linuxのコマンドラインを使用してファイルを作成する

  3. テキスト ファイルの表示割合を表示できませんか?

  1. Linuxコマンドラインでテキストファイルを表示するためにlessを使用する

  2. 例を使用してLinuxでlessコマンドを使用する方法

  3. Linuxでmd5sumコマンドを使用する方法