在 ls 输出中突出显示最后更新的三个文件

在 ls 输出中突出显示最后更新的三个文件

有没有办法重载或包装命令ls,以便它突出显示/下划线/以其他方式使最后三个修改的文件变得明显?

我知道我可以简单地ls -rtl按反向修改时间来订购,但我通常确实需要一个按字母顺序排列的文件列表,尽管我想快速识别我自己或其他开发人员修改的最后一个文件。

答案1

以下似乎对我有用

 grep --color -E -- "$(ls -rtl | tail -n3)|$" <(ls -l)

它使用 grep 并在输入上突出显示ls -l,并使用正则表达式来搜索三个最旧命令的任一输入。它还搜索行尾$以打印整个文件。

您还可以将其放入函数中,以便可以lll *与多个参数一起使用,就像使用ls

function lll ()
{
    command grep --color -E -- "$(ls -rtl $@ | tail -n3)|$" <(ls -l $@)
}

答案2

它不会突出显示最后三个修改的文件(我认为这是很难可靠实现的事情),但是ls++可能足以满足你的需求。它按相对时间突出显示文件,并按秒、小时、天或月前的颜色文件进行分组。

ls++ 截图

您可以配置颜色以使您倾向于工作的时间刻度更加明显(对于主动编码,小时与天对我来说是最重要的交叉点)。

相关内容