regex - bash脚本仅替换匹配并启动特殊IP地址?
问题描述
你能帮我bash脚本吗?我只需要使用起始和匹配的 IP 地址。例如
Y8.78.94 488752 X1.188 36582 62.111.101.260 #S
Y8.62.111 5789544 X1.132 5364789 8.8.4.4 #S
但是当我使用这个命令时
> sed -i 's/62.111./Z./g' test.txt
但结果它的变化都像:
Y8.78.94 488752 X1.188 36582 Z.101.260 #S
Y8.Z. 5789544 X1.132 5364789 8.8.4.4 #S
Y8.Z.
这是错误的,我们不应该改变它
解决方案
在正则表达式中,.
匹配任何字符。所以62.111.
比赛62.111
开始时后面是空格。
.
您应该通过转义来匹配字面意思。
sed -i 's/62\.111\./Z./g' test.txt
推荐阅读
- python - 是否有一种方法可以将字符串放入列表中的次数在字典中指定的次数?
- python - 将时间戳转换为日、月、年和小时
- video - 在 Wagtail 中,是否有任何选项可以显示带有视频背景的英雄块?
- .net - 在 Visual Studio 中指定相同的密钥文件
- c++ - 返回字符串的散点回文数
- java - 如何反序列化未包装的xml子元素
- typescript - TypeScript's import() typeof json
- python - 从带有评级的列中提取评论
- mongodb - 如何对文档中的数组进行排序?
- python - 当表单字段的属性在视图函数中修改时,validate_on_submit 在 POST 上失败