我看到很多类似的问题,但这些问题的答案并不能完全满足我的需求。最常见的答案是使用类似find . -mmin -60 -maxdepth 1
的命令。但这个命令只输出匹配的文件,我想要的是像ls -al
那样输出所有文件,并突出显示(像不同的颜色)在最后N分钟内修改的所有文件。我不知道是否有可能将find
和grep
结合起来实现这一目标,提前感谢您的帮助!!
假设您的find
版本支持printf
操作,并且您希望突出显示(例如)一个前导***
,则以下内容应该有效:
find . -maxdepth 1 -mmin -60 -printf '*** %pn' -o -print
如果您喜欢颜色,并且您的终端支持颜色,则可以使用ANSI转义码。绿色示例:
find . -maxdepth 1 -mmin -60 -printf ' 33[32m%p 33[0mn' -o -print
解释:
如果文件或目录在不到60分钟前被修改,那么我们将执行printf
操作,否则就是print
操作。
默认情况下,find
测试和操作与逻辑and相结合。CCD_ 11是逻辑OR。它的优先级低于AND。这里,一旦两个OR项中的一个评估为真,find
就停止。