ls -rt (Come elencare solo L'ULTIMO file? ad es. per: | xargs gnome-open)


16

es. directory contenente file jpeg: come aprire facilmente solo il jpeg più recente nella directory corrente?

Risposte:


19

ls -rt | tail -1

La coda-1 indica di mostrare solo una riga se si desidera essere più chiari, è possibile utilizzare invece l'opzione lunga

ls -rt | tail --lines=1


4
Ancora meglio è "ls -t | head -1". Vedi il mio commento qui sotto.
Andy Lester,

20

Quello che vuoi veramente è il primo file di un elenco basato sul tempo non invertito.

ls -t | head -1

-R è per gli umani perché vogliamo che sullo schermo sia passata l'ultima cosa, piuttosto che la prima. Nel caso in cui la macchina lo capisca, potrebbe anche usare heade fermarsi dopo il primo, piuttosto che aver tailattraversato l'elenco.


3

Con zsh:

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

Il qualificatore glob (om)ordina le partite aumentando l'età (cioè in ordine anticronologico). Il qualificatore glob ([1])seleziona solo la prima partita. È possibile utilizzare *.jpg(om[1,4])per aprire i 4 file più recenti e così via.

In altre conchiglie:

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

ma attenzione che se si hanno caratteri o byte non stampabili nei nomi dei file (cosa che in genere accade se si hanno nomi di file in un set di caratteri diverso dalle impostazioni internazionali), lsli sostituiranno con ?, quindi non funzionerà.


Su Mac, puoi usare solo openinvece dignome-open
Janac Meena il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.