ls -rt (Jak wyświetlić tylko OSTATNI plik? np. dla: | xargs gnome-open)

16

np. katalog zawierający pliki JPEG: jak łatwo otworzyć tylko najnowszy plik JPEG w bieżącym katalogu?

ajo
źródło

Odpowiedzi:

19

ls -rt | tail -1

-1Mówi ogon , aby pokazać tylko jeden wiersz, jeśli chcesz być jaśniejsze można użyć zamiast długiej opcji

ls -rt | tail --lines=1

Nifle
źródło
4
Jeszcze lepiej jest „ls -t | head -1”. Zobacz mój komentarz poniżej.
Andy Lester,
20

To, czego naprawdę chcesz, to pierwszy plik nieodwróconej listy opartej na czasie.

ls -t | head -1

-R jest dla ludzi, ponieważ chcemy ostatniej przewijanej rzeczy na ekranie, a nie pierwszej. W przypadku, gdy maszyna się zorientuje, równie dobrze może użyć headi zatrzymać się po pierwszej, zamiast tailprzeszukiwać listę.

Andy Lester
źródło
3

Z zsh:

gnome-open *.jpg(om[1])

Kwalifikator glob (om)sortuje mecze według wieku (tj. W porządku chronologicznym). Kwalifikator glob ([1])wybiera tylko pierwsze dopasowanie. Możesz użyć *.jpg(om[1,4])do otwarcia 4 najnowszych plików i tak dalej.

W innych muszlach:

gnome-open "$(\ls -t *.jpg | head -1)"

ale pamiętaj, że jeśli w nazwach plików znajdują się niedrukowalne znaki lub bajty (co zwykle zdarza się, jeśli masz nazwy plików w innym zestawie znaków niż twoje ustawienia regionalne), lszastąpi je ?, więc to nie zadziała.

Gilles „SO- przestań być zły”
źródło
Na opengnome-open
Macu