Linux更改文件的修改日期?

kam*_*ine 1 php linux find touch

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

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

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

如何找到并更改文件?

结合FINDTOUCH功能来替换所有文件修改日期.

Bol*_*lli 8

你可以cd到包含PHP文件的文件夹和:

touch -d '30 August 2013' *.php
Run Code Online (Sandbox Code Playgroud)

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

find /path/to/your/php/ -exec touch -d '30 August 2013' *.php {} \;
Run Code Online (Sandbox Code Playgroud)

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

编辑:

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

  • -mtime +60 意味着您正在寻找60天前或更早修改过的文件.

  • -mtime -60 意味着不到60天.

  • -mtime 60如果你跳过+-它意味着正好60天.

所以修改上面的命令是这样的:

find /path/to/your/php/ -mtime 127 -exec touch -d '30 August 2013' *.php {} \;
Run Code Online (Sandbox Code Playgroud)

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

您可以在此处阅读有关find命令-mtime参数的更多信息:http://www.cyberciti.biz/faq/howto-finding-files-by-date/

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