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