ls -rt (Wie liste ich nur DIE LETZTE Datei auf? zB für: | xargs gnome-open)


16

zB Verzeichnis mit JPEG-Dateien: Wie kann man einfach nur das neueste JPEG im aktuellen Verzeichnis öffnen?

Antworten:


19

ls -rt | tail -1

Das -1sagt Schwanz nur eine Zeile zu zeigen , wenn Sie klarer sein möchten , können Sie die lange Option verwenden , anstatt

ls -rt | tail --lines=1


4
Noch besser ist "ls -t | head -1". Siehe meinen Kommentar unten.
Andy Lester

20

Was Sie wirklich wollen, ist die erste Datei einer nicht umgekehrten zeitbasierten Liste.

ls -t | head -1

Das -r ist für Menschen, weil wir das Letzte auf dem Bildschirm wollen, das vorbeigefahren ist, und nicht das Erste. Wenn die Maschine es herausfindet, kann sie genauso gut headnach der ersten verwenden und anhalten, anstatt taildie Liste durchlaufen zu haben.


3

Mit zsh:

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

Das Glob-Qualifikationsspiel (om)sortiert die Spiele nach zunehmendem Alter (dh in antichronologischer Reihenfolge). Das Glob-Qualifikationsmerkmal ([1])wählt nur die erste Übereinstimmung aus. Sie können *.jpg(om[1,4])damit die 4 neuesten Dateien öffnen und so weiter.

In anderen Schalen:

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

Beachten Sie jedoch, dass nicht druckbare Zeichen oder Bytes in Ihren Dateinamen (was normalerweise der Fall ist, wenn Sie Dateinamen in einem anderen Zeichensatz als Ihrem Gebietsschema haben) lsdurch diese ersetzt werden ?, sodass dies nicht funktioniert.


Auf dem Mac können Sie nur openanstelle vongnome-open
Janac Meena
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.