![终端-今天未编辑的所有文件](https://linux22.com/image/1306527/%E7%BB%88%E7%AB%AF-%E4%BB%8A%E5%A4%A9%E6%9C%AA%E7%BC%96%E8%BE%91%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6.png)
我编辑了一堆 txt 文件,其中包含以下行
vim *.txt
但我真正想做的是编辑过去一天(或 n 天或 n 小时)内未修改的所有文件 - 执行此操作的最佳命令行方式是什么?
答案1
vim $(find * -type f -mtime 0)
$()
是命令替换。允许执行一些神奇的操作(在本例中,提供要编辑的文件列表)。您可以在此处阅读有关它们的更多信息
在命令替换中,我们将执行一个find
命令,查找当前目录 ( ) 中任何为( ) 且今天已修改 ( ) 的*
内容。file
-type f
mtime 0
mtime
查找在 中修改的文件n*24
。因此,如果mtime
等于1
,则将查找昨天修改的文件。您还可以使用mmin
查找n
几分钟前修改的文件。
vim $(find * -type f -mmin $[n * 1])
arithmetic expansion
在这种情况下,将 n 替换为 分钟。您甚至可以根据需要随意替换其中的内容。