0

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

4

2 回答 2

1

另一种选择,awk用于避免毛茸茸的正则表达式路线(一般来说正则表达式没有错,但有时它们会让你的眼睛流血......):

awk -F. '{printf "%s.%s.%s.x\n",$1,$2,$3}'
于 2012-10-26T14:31:21.167 回答
1

这是使用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
于 2012-10-26T13:57:26.497 回答