json - 使用 sed 在缩小的 js 文件中替换两个已知字符串之间的未知字符串
问题描述
我有一个缩小的 js 文件,其中包含一些服务器 url,我需要使用另一个文件中的 url 更改该 url。
{serverUrl:"existingUrl"}
需要更改的 url 未知,但我知道它是 JS 对象的一部分,所以我有钥匙。
我有以下代码,它似乎完成了大部分必需的部分,但它也从 JS 文件中删除了大量代码,这不是我想要的。
systemAuthUrl="someurl"
prefix='serverUrl:"'
suffix='"'
find ./prod/build/js/ -type f -name "bundle.*.js" -exec sed -i "s#$prefix.*$suffix#$prefix$systemAuthUrl$suffix#g" {} \;
如何修改上述命令以仅用变量 systemAuthUrl 替换前缀和后缀之间的字符串
解决方案
匹配是sed
贪婪的,这意味着它将匹配所有内容,直到"
文件中的最后一个。
您可以替换.*
为[^\"]+
,使其匹配除引号之外的任何内容。
推荐阅读
- php - 如何用PHP中的相应数字替换特定的数组字符串值?
- flutter - Flutter:通过 NavigationBar 更改子项中的滚动偏移量
- python - 为什么python认为我的screen.fill函数是一个rect函数
- sql - (Laravel)多个计数,通过一个查询在同一张表上分组
- firebase - Firebase 和 VueJS:如何处理使用 Google 登录但未在我的应用中注册的用户?用户资料管理
- javascript - 反应 FirebaseError DocumentReference.set()
- python - Python Mongoengine 与 $nin 与模式
- ruby-on-rails - Rails GraphQL:通过外键查询关联实体类型的字段
- swift - 未显示自定义 SKNode 对象 | 迅速
- javascript - 如何过滤多个对象的数组?