我在我的一个目录中提取.php文件,那里有很多文件,所以大部分文件被替换了!
但我有一个问题,因为新文件的修改日期是2013年4月23日,所以我想查找此目录中不是2013年4月23日的所有文件和文件夹!
换句话说,我想将此目录中2013年4月23日修改日期的所有文件更改为2013年8月30日!
如何找到并更改文件?
结合使用查找和 TOUCH 功能来替换所有文件修改日期。
答案 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行)