2013-08-29 71 views
1

我在我的一个目录中提取.php文件,里面有很多文件,所以大部分文件都被替换了!Linux更改文件修改日期?

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

换句话说,我想将这个目录中的所有文件(包含2013年4月23日修改日期)更改为30/08/2013!

如何找到并更改文件?

合并查找TOUCH函数替换所有文件的修改日期。

回答

7

你可以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日天的确切数量(如果我的快速头计算是正确的)。否则,您可以将数字更改为正确的天数,或者如上所述使用+-,如果它不需要“确切”。

你可以阅读更多有关查找命令在这里-mtime参数: http://www.cyberciti.biz/faq/howto-finding-files-by-date/

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