Linux

為什麼用 find 和 exec sed 替換文件中的字元串不起作用

  • October 27, 2016

目標是替換對我舊電子郵件的所有引用。我試過

find /var/www/vhosts/ -name '*.php' -type f -exec sed -i 's/old\@email.com/new\@email.com/g' {} \;

然而它什麼也沒顯示。它繼續下去,沒有任何反應。

我試過

find /var/www/vhosts/ -name '*.php' -type f -exec sed -i 's/old\@email.com/new\@email.com/g' {} \; | pv

然而我所看到的只是

0B 1:03:01 [   0B/s] [<=>                                                 ]

怎麼了?

sed -i

它不會顯示對文件所做的替換,您必須手動檢查它們或只是grep 'new\@email.com'

如果您在 ubuntu 機器上使用:

sed -i.bak

引用自:https://serverfault.com/questions/811617