web-dev-qa-db-ja.com

非常に長いファイルの先頭を表示するために `cat`を使用する方法は?

方法を知りたい

cat my-verylong-file

最後からではなく上から表示します。 manコマンドのように。

16
IDK

lessを使用します。これにより、ファイルが上から表示され、manと同様にスクロールできます。

less my-verylong-file
  • - 押す q 終了します。

ファイルの最初のn行を表示したいだけの場合は、headを代わりに使用できます。

head -n 25 filename

ファイルの最初の25行が表示されます。

tailを使用したファイルの最後のn行についても同じことが言えます。

tail -n 25 filename
40
vidarlo

manは、デフォルトでページャーとして less(1) を使用します。 catの代わりに使用します。 @ vidarlo's answer もご覧ください。

lessをカスタマイズしてさらに改善する方法:

私はalias m=lessが好きなので、いつも入力するので、それはただの1文字のコマンドです。 |mを何かの最後に置くと、ページャーにパイプされます。

エイリアスに-iMRj5Xのようなオプションを入れることもできます(例:alias m='less -iMRX)が、私は~/.lesskeyファイルでそれを行います。 ( lesskey(1) を参照)。

  • -i:検索では大文字と小文字が区別されません(大文字を使用しない限り)
  • -M:ステータス行が長くなり、行番号とファイルの割合が表示されます
  • -R:いくつかの制御コードの通過を許可するため、色付けされたコマンドをlessにパイプできます。
  • -X:ターミナルエミュレータの「代替」画面に切り替えないでください。したがって、quitをlessから外しても、探していたものはすべてそこにあります。 (必要なオプションを見つけて、入力中に見たい場合は、manページに最適です。)
  • -j5:検索では、画面の上部ではなく行5にターゲット行が配置されます。そのため、検索結果の両側にコンテキストを表示できます。 (検索ヒットの前にコンテキストを表示するのが最も便利な場合は、-j40またはlessの中に何かを入力することにより、これをインタラクティブに変更することがあります)。

.next-fileにバインドし、,prev-fileにバインドします。これは、デフォルトのバインドがmuchの2つの独立した文字であるためです::nおよび:p.


これは私の.lesskeyです:

$ cat .lesskey
. next-file
, prev-file
#env
LESS = iMRj5X

lesskeyを実行して、それを~/.lessに「コンパイル」します。

これはおそらく20年前に問題になりましたが、lessは、起動するたびにテキスト設定ファイルを解析するのではなく、そのバイナリファイルを読み取ります。

10
Peter Cordes