ls -rt (Як перерахувати лише ОСТАННІЙ файл? наприклад для: | xargs gnome-open)


16

наприклад, каталог, що містить файли jpeg: як легко відкрити найсвіжіший jpeg у поточному каталозі?

Відповіді:


19

ls -rt | tail -1

-1Каже хвіст , щоб показати тільки один рядок , якщо ви хочете бути ясніше ви можете використовувати довгий варіант замість

ls -rt | tail --lines=1


4
Ще краще "ls -t | голова -1". Дивіться мій коментар нижче.
Енді Лестер

20

Те, що ви насправді хочете, - це перший файл неповерненого часового списку.

ls -t | head -1

-R призначений для людей, тому що ми хочемо останнього на екрані, який прокрутився, а не першого. У випадку, коли машина розбирається, вона може використовуватись headі зупинятися після першого, а не tailпробігати список.


3

З zsh:

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

Глобальний класифікатор (om)сортує матчі за збільшенням віку (тобто в антихронологічному порядку). Глобальний класифікатор ([1])вибирає лише перший матч. Ви можете використовувати *.jpg(om[1,4])для відкриття 4 найновіших файлів тощо.

В інших оболонках:

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

але майте на увазі, що якщо у ваших іменах файлів є недруковані символи чи байти (що, як правило, трапляється, якщо у вас є імена файлів у іншому наборі символів від вашої мови), lsзаміните їх на ?, тому це не працюватиме.


На mac ви можете використовувати лише openзамістьgnome-open
Janac Meena
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.