regex - 只知道一小部分字符串的正则表达式替换
问题描述
我有一个包含 contains 的字符串。\r\nexports.host = "192.168.24.76"
这里的 IP 地址不是固定的,是可变的。
我想使用正则表达式来查找此表达式并替换 bash 中的 IP 地址。
例如,制作这个\r\nexports.host = "192.168.24.77"
,然后\r\nexports.host = "192.168.24.78"
在下一次迭代中将其更改为。无论如何我可以在 bash 脚本中使用正则表达式来做到这一点吗?
现在,我正在这样做:sed -i -e 's/"192.168.24.76"/"'$1'"/g' ./dist/config.*.js
但刚刚发现初始 IP 地址不会是静态的,可以是任何值
解决方案
请您尝试以下操作。
awk -v new_ip="your_new_ip" '
match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/){
print substr($0,1,RSTART-1) new_ip substr($0,RSTART+RLENGTH);
next
}
1' Input_file
如果您想将输出的值保存到 Input_file 本身,那么> temp_file && mv temp_file Input_file
也附加到上面的代码中。
推荐阅读
- linux - 每日 grep 和输出状态
- php - 从数据库中选择带有信息的选项
- asp.net - 使用 Azure 上的现有数据库部署 ASP MVC 应用程序
- angularjs - 无法在数字“1”上创建属性“路线”
- python - 如何使用模糊逻辑从熊猫数据框中匹配和提取文本?
- java - 有什么方法可以在使用 selenium 的 Web 自动化测试中获取请求正文?
- c++ - 对于正在运行的进程,VmRSS 显示为 0KB
- python - 如何在 Python 3 的空白字典中插入新项目?
- sql - 如何编写具有多种获取数据所需的方式的rest api
- arrays - 如何从 golang 中的数组 unsafe.Pointer 创建数组或切片?