Bir girişin yalnızca son satırını nasıl görüntüleyebilirim?


12

Bir liste yapmak ve dosyaları geçici özelliğine göre sıralamak gerekiyordu:

ls -ltr

-rwxrwxrwx 1 bla bla 4096 Feb 01 20:10 foo1
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:12 foo2
.
.
.
-rwxrwxrwx 1 bla bla 4096 Mar 05 13:25 foo1000

Listenin yalnızca son satırını elde etmek için boru zincirinde ls -ltr arkasına ne eklemeliyim? Sed ve awk olduğunu biliyorum, ama onları nasıl kullanacağımı bilmiyorum, sadece ne yapabileceklerini biliyorum.

Yanıtlar:


25

Özellikle sed hakkında sorduğunuz için,

ls -ltr | sed '$!d'

teşekkür ederim, şimdi biraz beton sed öğrendiğim için biraz gurur duyuyorum.
Abdul Al Hazred

3
Ayrıca, sed -n '$p'aynı şeyi yapar, ama gerçekten tail -1iş için doğru araçtır.
imiric

Teşekkürler! / Proc / cpuinfo'daki son satırı çıkarmayı ve baştaki sıfırı kolaylıkla kesmeyi başardım (RPi3 seri numarasını kolaylıkla çıkarmak için kullanılır):sed '$!d s/.*: 0\+//' /proc/cpuinfo
Yaron

11

Şunu arıyorsunuz tail:

ls -ltr | tail -n 1

Bu, ls -ltrçıktısının yalnızca son satırını görüntüler . Sonraki değeri değiştirerek satır sayısını kontrol edebilirsiniz -n; -n 1tamamen atlarsanız on satır alırsınız.


mükemmel, çok hızlı ve yardımsever cevap
Abdul Al Hazred

tail -1... -ngereksizdir.
dhchdhd

@Barry tail -1kullanımdan kaldırılmıştır ( POSIX spesifikasyonununtail veya GNU tailskılavuzunun son kısmının “RATIONALE” bölümüne bakın ); şimdilik bu durumda hala çalışıyor, ancak örneklerde kullanmaktan kaçınmak en iyisidir.
Stephen Kitt

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.