Linux更改文件的修改日期?

时间:2013-08-29 23:22:46

标签: php linux find touch

我在我的一个目录中提取.php文件,那里有很多文件,所以大部分文件被替换了!

但我有一个问题,因为新文件的修改日期是2013年4月23日,所以我想查找此目录中不是2013年4月23日的所有文件和文件夹!

换句话说,我想将此目录中2013年4月23日修改日期的所有文件更改为2013年8月30日!

如何找到并更改文件?

结合使用查找 TOUCH 功能来替换所有文件修改日期。

1 个答案:

答案 0 :(得分:8)

您可以cd到包含PHP文件的文件夹,并且:

touch -d '30 August 2013' *.php

或者如果它有包含php文件的子文件夹 - 递归搜索它们:

find /path/to/your/php/ -exec touch -d '30 August 2013' *.php {} \;

上面的命令中包含'php'文件夹。

修改

如果您只需要查找/更改2013年4月23日修改的完全文件,则可以在find命令中使用-mtime参数。

  • -mtime +60表示您正在寻找60天前或更长时间内修改过的文件。

  • -mtime -60表示不到60天。

  • -mtime 60如果您跳过+-,则意味着正好60天。

所以修改上面的命令如下:

find /path/to/your/php/ -mtime 127 -exec touch -d '30 August 2013' *.php {} \;

其中127是自4月23日以来的确切天数(如果我的快速计算是正确的)。否则,您可以将号码更改为正确的天数,或者如上所述使用+-,如果它不需要那么精确。

您可以在此处详细了解find命令-mtime参数: http://www.cyberciti.biz/faq/howto-finding-files-by-date/

(是的,我从那里借了3行)