ls -rt(如何仅列出最后一个文件?例如:| xargs gnome-open)

ls -rt(如何仅列出最后一个文件?例如:| xargs gnome-open)

例如包含 jpeg 文件的目录:如何轻松打开当前目录中最新的 jpeg?

答案1

ls -rt | tail -1

讲述 -1尾巴如果您想要更清楚,则仅显示一行,可以使用长选项

ls -rt | tail --lines=1

答案2

您真正想要的是一个非反向基于时间的列表的第一个文件。

ls -t | head -1

-r 是为人类设计的,因为我们想要屏幕上滚动的最后一个东西,而不是第一个。在机器计算的情况下,它最好使用head并在第一个东西之后停止,而不是tail浏览整个列表。

答案3

使用 zsh:

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

glob 限定符(om)按时间顺序对匹配项进行排序(即按时间顺序逆序排列)。 glob 限定符([1])仅选择第一个匹配项。您可以使用*.jpg(om[1,4])打开最近的 4 个文件,依此类推。

在其他 shell 中:

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

但请注意,如果您的文件名中包含不可打印的字符或字节(这通常发生在您的文件名采用与您的语言环境不同的字符集时),ls将会用 替换它们?,因此这将不起作用。

相关内容