为文件中的字符串添加引号

为文件中的字符串添加引号

我目前有一个 SQL 文件,其中填充了以下形式的插入语句:

 INSERT INTO
 database.table(primary_key,
 foreign_key, url_one,
 url_two, int_one,
 int_two, int_three) VALUES
 (266,7,https://some.url.com/image_one.png,https://some.url.com/image_two.png,266,1440,900);

我现在意识到 URL 字符串需要用引号括起来才能在 MySQL 中执行它们。我可以使用什么命令将 URL 字符串括起来?

我尝试使用“sed”来执行此操作,但是由于我不完全了解我想要实现的语法,因此我无法正确执行命令:

sed -e "s/(https://).*(\.png)/\"(https://)$1(.png)\"/g" some_sql_file.sql

运行结果如下:

sed: -e expression #1, char 12:

's' 的未知选项

任何帮助都将不胜感激,因为我想尽可能避免重新生成 SQL 文件只是为了放入引号。

答案1

我会用:

sed -e 's@\(https\?://[^,]*\),@"\1",@g' FILE

这将查找以 开头且后跟http可选的 的表达式。然后它将取到第一个之前的所有内容。此表达式将被 括起来。s://,"

相关内容