web-dev-qa-db-ja.com

ls -rt(最後のファイルだけをリストする方法?例:| xargs gnome-open)

例えばjpegファイルを含むディレクトリ:現在のディレクトリで最新のjpegだけを簡単に開く方法は?

16
ajo

ls -rt | tail -1

-1tail を指定すると、より明確にしたい場合は代わりに長いオプションを使用できます。

ls -rt | tail --lines=1

19
Nifle

本当に必要なのは、非反転時間ベースのリストの最初のファイルです。

ls -t | head -1

-rは、最初の画面ではなく、画面をスクロールした最後の画面が必要であるため、人間用です。マシンがそれを理解している場合、headをリストで実行するのではなく、tailを使用して最初のマシンの後に停止することもできます。

20
Andy Lester

Zshの場合:

_gnome-open *.jpg(om[1])
_

グロブ修飾子_(om)_は、一致を年齢の昇順で(つまり、年代順に)並べ替えます。グロブ修飾子_([1])_は、最初の一致のみを選択します。 *.jpg(om[1,4])を使用して、最新の4つのファイルなどを開くことができます。

他のシェルでは:

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

ただし、ファイル名に印刷できない文字またはバイトがある場合(通常、ロケールとは異なる文字セットのファイル名がある場合に発生します)、lsはそれらを_?_に置き換えます。これは機能しません。