我看到很多类似的问题,但这些问题的答案不太符合我的需求。最常见的答案是使用类似 的命令find . -mmin -60 -maxdepth 1。但是这个命令只输出匹配的文件,我想要的是输出所有文件,就像什么一样ls -al,并突出显示(像不同的颜色)在最后N分钟修改的所有文件。我不知道是否可以结合find并grep实现这个目标,提前感谢您的帮助!
假设您的版本find支持该printf操作,并且您希望使用前导 等突出显示***,则以下内容应该有效:
find . -maxdepth 1 -mmin -60 -printf '*** %p\n' -o -print
Run Code Online (Sandbox Code Playgroud)
如果您喜欢颜色,并且您的终端支持它,则可以使用ANSI 转义码。绿色示例:
find . -maxdepth 1 -mmin -60 -printf '\033[32m%p\033[0m\n' -o -print
Run Code Online (Sandbox Code Playgroud)
说明:
如果文件或目录在不到 60 分钟前被修改,则printf我们将执行该操作,否则将执行该print操作。
默认情况下,find测试和操作通过逻辑 AND 组合。-o 是逻辑或。它的优先级低于 AND。find一旦两个或运算项之一计算为真,这里就会停止。