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


16

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

Answers:


19

ls -rt | tail -1

-1告诉,只显示一条线,如果你想更清晰,你可以使用长选项,而不是

ls -rt | tail --lines=1


4
更好的是“ ls -t | head -1”。见下面我的评论。
安迪·莱斯特

20

您真正想要的是不可逆的基于时间的列表的第一个文件。

ls -t | head -1

-r适用于人类,因为我们希望屏幕上滚动的最后一件事而不是第一件事。如果是机器,则最好head在第一个机器之后使用并停止,而不要tail遍历该列表。


3

使用zsh:

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

全局限定符(om)按年龄的增长对比赛进行排序(即按时间顺序)。全局限定符([1])仅选择第一个匹配项。您可以*.jpg(om[1,4])用来打开4个最新文件,依此类推。

在其他shell中:

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

但请注意,如果文件名中包含不可打印的字符或字节(通常发生在与区域设置不同的字符集中的文件名中),ls则将其替换为?,所以这将不起作用。


在Mac上,你可以只使用open代替gnome-open
Janac米娜
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.