8

.sql在子文件夹中有很多文件。我目前正在手动打开它们,搜索OLDSERVERNAME,并将其替换为NEWSERVERNAME(我正在迁移)。必须有更快的方法来做到这一点。我尝试使用 FART,但我想我做得不对。

这是我尝试过的(在主文件夹中):

fart -i -p -c *.sql OLDSERVERNAME NEWSERVERNAME

我可以为此目的使用 unix 实用程序吗?

4

2 回答 2

13

你可以用sed这个。sed代表流编辑_

sed -i 's/OLDSERVERNAME/NEWSERVERNAME/g' *.sql
  • -i选项将进行文件内替换。
  • g意味着全局替代。因此,如果一行中有多个 OLDSERVERNAME 实例,它们将被 NEWSERVERNAME 替换
  • * .sql将传递所有以扩展名结尾的文件.sql

查找sed手册页以获取更多详细信息。

于 2013-05-31T03:39:31.467 回答
2

在 MacOS 上 - 我必须添加备份文件扩展名

sed -i '.bak''s/OLDSERVERNAME/NEWSERVERNAME/g' *.sql
于 2020-04-08T17:06:44.673 回答