在 .sql 文件中查找和替换文本
Posted
技术标签:
【中文标题】在 .sql 文件中查找和替换文本【英文标题】:Find and Replace text in .sql files 【发布时间】:2013-05-26 19:22:44 【问题描述】:我在子文件夹中有很多 .sql
文件。我目前正在手动打开它们,搜索OLDSERVERNAME
,并将其替换为NEWSERVERNAME
(我正在迁移)。必须有更快的方法来做到这一点。我尝试使用 FART,但我想我做得不对。
这是我尝试过的(在主文件夹中):
fart -i -p -c *.sql OLDSERVERNAME NEWSERVERNAME
我可以为此目的使用 unix 实用程序吗?
【问题讨论】:
【参考方案1】:您可以为此使用sed
。 sed
代表Stream Ed itor
sed -i 's/OLDSERVERNAME/NEWSERVERNAME/g' *.sql
-i 选项将进行文件内替换。
g 表示全局替换。因此,如果一行中有多个 OLDSERVERNAME 实例,它们将被替换为 NEWSERVERNAME
*.sql 将传递所有以.sql
扩展名结尾的文件。
查看sed
手册页了解更多详情。
【讨论】:
是否需要安装一些东西才能使用 SED?我得到一个“'sed' 不是内部或外部命令、可运行程序或批处理文件。'错误。谢谢。 我已经尝试安装它,还将 sed.exe 和 .dll 文件的位置添加到 Path 环境变量中,但我仍然得到同样的错误。 SED 可以在 64 位机器上运行吗?【参考方案2】:在 MacOS 上 - 我必须添加备份文件扩展名
sed -i '.bak''s/OLDSERVERNAME/NEWSERVERNAME/g' *.sql
【讨论】:
以上是关于在 .sql 文件中查找和替换文本的主要内容,如果未能解决你的问题,请参考以下文章