查找和替换.sql文件中的文本

时间:2013-05-31 03:37:08

标签: sql unix replace grep

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

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

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

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

2 个答案:

答案 0 :(得分:7)

您可以使用sedsed代表 S tream Ed itor

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

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

答案 1 :(得分:1)

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

sed -i '.bak''s/OLDSERVERNAME/NEWSERVERNAME/g' *.sql