如何在选项卡完成列表中按日期对文件进行排序

Vi.*_*Vi. 10 bash autocomplete

$ 7z l ~/下载/Tab

如何使结果列表按日期排序,而不是按名称排序?

我目前使用特殊脚本在给定目录中列出 N 个最近的文件(并将文件名手动复制到命令行),但希望使其无缝且更方便。

Tim*_*tin 0

有时,我需要在“下载”目录中查找最近下载的文件,但可能不知道确切的文件名。我是这样做的。

ls -rt ~/Downloads
Run Code Online (Sandbox Code Playgroud)

ls -t按时间而不是名称列出文件,首先显示最近的文件。由于我的下载目录包含如此多的文件,我不想滚动到列表顶部来查看最新的文件。 ls -rt反转列表的顺序,在列表底部显示最新的文件。

从那里你可以很容易地做你需要做的事情。例如:

unzip $(ls -rt ~/Downloads | tail -n1)
Run Code Online (Sandbox Code Playgroud)

或者

mv $(ls -rt ~/Downloads | tail -n1) *some_other_location*
Run Code Online (Sandbox Code Playgroud)

你原来的问题可以这样完成:

7z l $(ls -rt ~/Downloads | tail -n1)
Run Code Online (Sandbox Code Playgroud)

我意识到这不符合 Tab 补全方法,但它可能适合您的需求。