终端 - 今天尚未编辑的所有文件

Joe*_*Joe 3 terminal

我用这一行编辑了一堆txt文件

vim *.txt
Run Code Online (Sandbox Code Playgroud)

但我真正想做的是编辑所有在最后一天(或 n 天或 n 小时)未修改的文件 - 这样做的最命令行方式是什么?

qwe*_*eet 10

vim $(find * -type f -mtime 0)
Run Code Online (Sandbox Code Playgroud)

$()是命令替换。允许完成一些魔术(在这种情况下,提供一个文件列表供您编辑)。你可以在这里阅读更多关于它们的信息

里面的命令替换,我们要做一个find命令会在当前目录(任何*)这是一个file-type f),并修改今日(mtime 0)。

mtime查找在n*24. 所以 ifmtime等于1, if 会查找昨天修改过的文件。您还可以mmin用于查找n几分钟前修改过的文件。

vim $(find * -type f -mmin $[n * 1])
Run Code Online (Sandbox Code Playgroud)

在这种情况下,将 n 替换为分钟。你甚至可以去交换任何你想要的东西arithmetic expansion来满足你的需求。

  • @confiq 这不是那么重要,但 1) 更容易阅读 2) 更难犯嵌套错误 3) 现在被认为是标准的 (2认同)