2013-08-29 174 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條從那裏線)