2014-12-02 43 views
0

我可以找到幾個如何使用grep或sed替換多個文件中的字符串的示例,但是我想用新版本替換舊版本的文件。用unix中的新版本文件替換多個子文件夾中的多個文件

比如我有10個不同的子文件夾類文件new1.class.php,我想用一個新new1.class.php更換所有這些new1.class.php,

如何我可以這樣做嗎?

+0

我想你想'sed -i'(就地編輯)? – Carpetsmoker 2014-12-02 11:04:01

+0

不是真的,我只是想用新文件替換整個文件,而不是替換文件中的字符串。 – 2014-12-02 11:13:17

+0

你想重命名這些嗎? – 2014-12-02 11:13:44

回答

1

您可以使用find,只是複製在上面正是如此新的文件...

find . -name new1.class.php -exec cp /some/place/new1.class.php {} \; 

(假設你運行該根)cp將保持在目標文件的所有權和權限(一被覆蓋)。如果你想保留源文件的權限,那麼你可以使用cp -p

+0

它將用一個 – Hackaholic 2014-12-02 11:34:27

+0

來代替它們全部,謝謝,這就是我一直在尋找的。如何恢復相同的用戶和許可權,以便在更換前最初擁有的用戶和許可權? – 2014-12-02 13:37:39

相關問題