cczeを使用して少ないコマンドで色を取得:Shift + gでファイルの最後に移動しませんか?


9

lessコマンドで色を取得するすべてのツール:-RPygmentsGNU Source-highlightvless、... cczeは、以下のコマンドで私を満足させます:

ccze -A < /path/to/log/file | less -R

しかし、Shift+はg期待通りに動作しません。

  • 最初にCtrl+を押す必要がありますc
  • Shift+がg後に続きますが、ファイルの最後には移動しません

私は何か見落としてますか?

回答:


7

私はこれにしようとすると、あなたが説明するように、私は同様の動作を確認/var/log/syslogされている2.1MBサイズと周りに22500長い列。それcczeは部分的にそれのせいだと思ったので、私は走った:

time ccze -A /var/log/syslog > foo

これは、ccze私の1.2GHzマシンで色付きの出力を生成するのに約55秒かかることを示しています。これがlessハングの原因lessであり、生成cczeが完了する前に出力の最後に移動できないためless、ハングしているようです。

これをより良くするための代替案:

  • などで出力を選択してgrepからsed、にパイプしcczeます。
  • ファイルを事前に色付けして実行lessします。

ログファイルを事前に色付けするツールはありますか?
クォンタム

私はに沿って考えていましたccze -A LOG > SOME_FILE。おそらくcronジョブで実行されます。
トール

ANSIシーケンスを出力する必要がありますか?私は通常vim、ログの表示に使用します。構文の強調表示が優れています。7 MB目立った遅れのないログファイルでテストしただけです。
トール

:se ft=sql/var/log/mysqld.logたときに私が幸せにならない。
クォンタム2007

1
これは適応されたsyntax/messages.vim、かなり単純なsyn matchものです。ここにそれをフェッチし、入れて~/.vim/syntax実行し:set ft=mysqllogます。
トール

0

Meta->とMeta- <はどちらも完全にうまく機能します。emacsでも同じことをするので慣れています

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.