![ls -rt(如何仅列出最后一个文件?例如:| xargs gnome-open)](https://linux22.com/image/1253163/ls%20-rt%EF%BC%88%E5%A6%82%E4%BD%95%E4%BB%85%E5%88%97%E5%87%BA%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%EF%BC%9F%E4%BE%8B%E5%A6%82%EF%BC%9A%7C%20xargs%20gnome-open%EF%BC%89.png)
例如包含 jpeg 文件的目录:如何轻松打开当前目录中最新的 jpeg?
答案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
将会用 替换它们?
,因此这将不起作用。