Günlüklere aşağıdan yukarıya doğru bakıyor


35

Bir linux komutu var ya da kayıtlara yukarıdan aşağıya değil aşağıdan yukarıya bakmak için bir yol var mı? Biliyorum tail -n <number of lines>, ama gerçekten aşağı kaydırıp kaybedebileceğim bir şey var mı?

Yanıtlar:


32

Bazı sistemler tac, tuhaf bir şekilde geriye doğru adlandırılan bir sisteme sahiptir cat. Bu olmadan, hala böyle bir şey yapabilirsin

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

8
Tac için +1, bunu bilmiyordum :)
Johan

cat -ngibi awk '{print NR,$0}', biraz daha hafif.
Glenn jackman

1
Ben olmadan sistemleri varsayarak edildi tackudretini de BSD türevi versiyonunu eksikliği cat(USG aromalı catyoktu -v, -n"**** eski" vb bir şey benim tetiklenen düşünüyorum.)
geekosaur

44

Sanırım less +Garadığınız şey - sonunda dosyayı yükler ve geri gitmek için yukarı okunu (veya k) kullanabilirsiniz. Görüntüleyicide gsizi dosyanın en üstüne Ggötürür ve sonuna kadar götürür. Ve Fsonuna kadar kayar ve okumaya devam etmeye çalışır tail -f.


n1 +1 :) Çok nazikseniz: + G bayrağıyla daha az kullanırken dosyayı nasıl aşağıdan arayacağınızı açıklayabilir misiniz?
Oleg Belousov

2
@OlegTikhonov Tabii. ?dosyada geriye doğru arama yapmak için kullanılır.
mattdm

5

tacEğer peşinde olduğun buysa komutu, bir ters "kedi" gibi.

Bir dosyayı sadece alttan başlayarak görüntülemek istiyorsanız, neden bir editör veya "daha az" kullanmıyorsunuz?


1
Editörleri kullanırken gördüğüm iki sorun sayfalayıcıdır: a) tüm editörler ağ bağlantılarını kesmek için uygun şekilde davranmaz; b) birçok editör dizine dokunur (bir takas / geçici dosyası oluşturarak), dizinin süresini sabit tutmak istiyorsanız dezavantajlıdır.
Arcege

2

lessDosyanın altına gitmek için M-> (bu, genellikle alt ve '>' aynı zamanda meta anahtardır) çalıştırabilir ve kullanabilirsiniz. lesskaydırmayı destekler.


1
“Son satıra git” fonksiyonu da genellikle >(Meta veya ESC'siz) ve G.
Chris Johnsen

@ Chris, Meta’nın daha az gerekli olmadığını farketmedim. Ama bu Emacs'da kullanacağın şeydi.
Carlos Rendon


0

Bu betiği aşağıdan yukarıya doğru bir dosyayı okumak için kullanıyorum


#!/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

eğer sample.fileiçeriyor

 1
 2
 3

sonuç elpmas.fileolacak

 3
 2
 1


-1

Soluction: birleştirin tacileless

tac $@ | less

Yüklemek

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

kullanım

tacless /var/log/auth.log
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.