linux - 替换文本中的一个数字并用新值克隆它

标签 linux shell replace

<分区>

我需要更改规则中的一些数字,例如 192.168.1.2 到 192.168.1.x,其中 x 是 3-254 之间的值。因此会有多行,一行的值为 192.168.1.2,另一行的值为 192.168.1.3,依此类推。 好吧,我不知道该怎么做。 如果有人知道在 Linux 中使用脚本的程序或某种方式,请告诉我。

最佳答案

这是使用 GNU sed 的一种方法。只需将 X 替换为您希望使用的值即可。

sed 's/\(\([0-9]\{1,3\}\.\)\{3\}\)[0-9]\{1,3\}/\1X/g' file.txt

测试:

echo "192.168.1.4" | sed 's/\(\([0-9]\{1,3\}\.\)\{3\}\)[0-9]\{1,3\}/\1X/g'

结果:

192.168.1.X

关于linux - 替换文本中的一个数字并用新值克隆它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087820/

相关文章:

javascript - 正则表达式替换第一个元素

c - 后台运行程序

python - 旋转 GIF 图像并保存 GIF 动画

linux - 在巨大的 gzip 文件顶部追加一行

bash - 使用 sed 将文本附加到文件

linux - 命令的输出未传递给分配的变量

python - 如何将 0's and 1' 字符串中的字符替换为其他字符

linux - 删除损坏的 java 安装 (linux)

c++ - 如何处理在 bash 文件中获取运行时输入的 C++ 程序?

javascript - 用另一个字符串替换字符串中的单词 - Javascript