Załóżmy, że robię listę i sortuję pliki według atrybutu czasowego:
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
Co powinienem dodać za ls -ltr w łańcuchu rur, aby uzyskać tylko ostatni wiersz listingu? Wiem, że są sed i awk, ale nie wiem, jak ich używać, wiem tylko, co potrafią.
command-line
sed
awk
ls
Abdul Al Hazred
źródło
źródło
sed -n '$p'
robi to samo, ale tak naprawdętail -1
jest odpowiednim narzędziem do pracy.sed '$!d s/.*: 0\+//' /proc/cpuinfo
Poszukujesz
tail
:Spowoduje to wyświetlenie tylko ostatniego wiersza
ls -ltr
wyniku. Możesz kontrolować liczbę wierszy, zmieniając wartość po-n
; jeśli-n 1
całkowicie pominiesz , dostaniesz dziesięć linii.źródło
tail -1
...-n
jest zbędny.tail -1
jest przestarzały (patrz sekcja „RATIONALE” specyfikacji POSIXtail
lub ostatnia część instrukcji GNUtails
); na razie działa w tym przypadku, ale najlepiej unikać go w przykładach.Z awk:
źródło