ログを下から上に見て


35

Linuxコマンド、またはログを上から下ではなく下から見る方法がありますか?について知ってtail -n <number of lines>いますが、実際にスクロールして下から上に移動できるものはありますか?

回答:


32

一部のシステムにはtacがありますが、これは気まぐれに名前が付けられていcatます。それがなくても、まだ次のようなことができます

awk '{print NR ":" $0}' $file | sort -t: -k 1nr,1 | sed 's/^[0-9][0-9]*://'

8
tacの+1、そのことは知りませんでした:)
ヨハン

cat -nはのようなものなawk '{print NR,$0}'ので、わずかに軽量です。
グレンジャックマン

1
私はないシステムと仮定したtacかもしれないが、またのBSD由来のバージョン欠けcat(USGは、風味をcat持っていなかった-v-n「****古い」など私は何かが私を引き起こしたと思います。)
geekosaur

44

less +Gはあなたが探しているものだと思います-それは最後にファイルをロードし、上矢印(またはk)を使用してスクロールバックできます。ビューア内gで、ファイルの先頭に移動 Gし、最後に戻ります。そしてF最後までスクロールして、のように読み続けようとしtail -fます。


n1 +1 :)あなたがとても親切なら:+ Gフラグを付けてlessを使用するとき、ファイルを下から検索する方法を説明できますか?
オレグベロソフ14年

2
@OlegTikhonov確かに。?ファイル内を逆方向に検索するために使用されます。
mattdm

5

tacそれはあなたが後にしているものだ場合、コマンドは、逆の「猫」のようなものです。

一番下から始めてファイルを表示したいだけなら、なぜエディターを使用しないか、「少なく」しませんか?


1
エディターの使用で見られる2つの問題はページネーターです。a)すべてのエディターがネットワークの切断に対して適切に動作するわけではありません。b)多くの編集者がディレクトリにアクセスします(スワップ/一時ファイルを作成することにより)。これは、ディレクトリのmtimeを安定させたい場合に不利です。
アルケージュ

2

実行してlessからM->(通常はaltのメタキーであり、同時に '>'を使用)を使用してファイルの最後に移動できます。 lessスクロールをサポートします。


1
「最後の行に移動」関数は、通常>(MetaまたはESCなしで)およびにもバインドされGます。
クリスジョンセン

@クリス、私はメタがそれほど必要ではないことを知りませんでした。しかし、それはEmacsで使用することでした。
カルロスレンドン


0

このスクリプトを使用して、下から上にファイルを読み取ります


#!/bin/bash

echo -n elpmas.file # resulting file

ctr_line=0

while read line; do

   let ctr_line++

   tail -n $ctr_line | head -n 1 >> elpmas.file

done <sample.file

sample.file含まれている場合

 1
 2
 3

結果elpmas.file

 3
 2
 1

-1

tacへのパイピングも機能します。例:

tail -n 3 /var/log/dmesg | tac

-1

Soluction:コンバインtacless

tac $@ | less

インストール

sudo bash -c 'echo "tac \$@ | less" > /usr/local/bin/tacless'
sudo chmod +x /usr/local/bin/tacless

使用法

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