ls -rt (Como listar apenas O ÚLTIMO arquivo? Por exemplo, para: | xargs gnome-open)

ls -rt (Como listar apenas O ÚLTIMO arquivo? Por exemplo, para: | xargs gnome-open)

por exemplo, diretório contendo arquivos jpeg: como abrir facilmente apenas o jpeg mais recente no diretório atual?

Responder1

ls -rt | tail -1

O que -1dizcaudapara mostrar apenas uma linha se quiser ser mais claro você pode usar a opção longa

ls -rt | tail --lines=1

Responder2

O que você realmente deseja é o primeiro arquivo de uma lista baseada em tempo não invertida.

ls -t | head -1

O -r é para humanos porque queremos a última coisa que foi rolada na tela, em vez da primeira. No caso da máquina descobrir isso, ela também pode usar heade parar após o primeiro, em vez de percorrer taila lista.

Responder3

Com zsh:

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

O qualificador glob (om)classifica as correspondências aumentando a idade (ou seja, em ordem anticronológica). O qualificador glob ([1])seleciona apenas a primeira correspondência. Você pode usar *.jpg(om[1,4])para abrir os 4 arquivos mais recentes e assim por diante.

Em outras conchas:

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

mas tome cuidado, pois se você tiver caracteres ou bytes não imprimíveis em seus nomes de arquivos (o que normalmente acontece se você tiver nomes de arquivos em um conjunto de caracteres diferente de sua localidade), lsos substituirá por ?, portanto, isso não funcionará.

informação relacionada