ls -rt (Bagaimana daftar hanya file TERAKHIR? misal untuk: | xargs gnome-open)

16

misalnya direktori yang berisi file jpeg: cara mudah membuka jpeg terbaru di direktori saat ini?

ajo
sumber

Jawaban:

19

ls -rt | tail -1

The -1memberitahu ekor untuk menampilkan hanya satu baris jika Anda ingin lebih jelas Anda bisa menggunakan opsi panjang, bukan

ls -rt | tail --lines=1

Nifle
sumber
4
Yang lebih baik lagi adalah "ls -t | head -1". Lihat komentar saya di bawah.
Andy Lester
20

Yang Anda inginkan adalah file pertama dari daftar berbasis waktu yang tidak dapat dibatalkan.

ls -t | head -1

-R adalah untuk manusia karena kita menginginkan hal terakhir pada layar yang telah digulir, bukan yang pertama. Dalam kasus mesin mencari tahu, mungkin lebih baik menggunakan headdan berhenti setelah yang pertama, daripada tailmenjalankan daftar.

Andy Lester
sumber
3

Dengan zsh:

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

Kualifikasi glob (om)mengurutkan pertandingan dengan bertambahnya usia (yaitu dalam urutan anti-kronologis). Kualifikasi glob ([1])hanya memilih pertandingan pertama. Anda bisa menggunakannya *.jpg(om[1,4])untuk membuka 4 file terbaru, dan sebagainya.

Dalam cangkang lain:

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

tetapi berhati-hatilah bahwa jika Anda memiliki karakter atau byte yang tidak dapat dicetak dalam nama file Anda (yang biasanya terjadi jika Anda memiliki nama file dalam set karakter berbeda dari lokal Anda), lsakan menggantinya dengan ?, jadi ini tidak akan berfungsi.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Di mac, Anda dapat menggunakan hanya openbukangnome-open
Janac Meena