|

楼主 |
发表于 2007-11-9 10:12:48
|
显示全部楼层
谢谢楼上前辈指点 ^_^
cat iplist.conf|sed 's/192.168.0.\(.*\)/192.168.1.\1/g'
这句话是否是说 将iplist.conf 文件中的IP地址192.168.0.*用IP地址192.168.1.*代替
但是不明白 (.*\) 和 \1 具体的意思.
我有个文件1.txt是这样的
192.162.1.235---[14/Aug/2007:09:34
236.82.28.12---[14/Aug/2007:09:34
192.162.1.235---[14/Aug/2007:09:34
236.82.28.12---[14/Aug/2007:09:34
192.162.1.235---[14/Aug/2007:09:34
192.162.1.235---[14/Aug/2007:09:34
236.82.28.12---[14/Aug/2007:09:34
192.162.1.235---[14/Aug/2007:09:34
236.82.28.12---[14/Aug/2007:09:34
执行了sed -e 's/192.168.1.\(.*\)/192.162.2.\1/g' 1.txt后变成了下列
192.162.2.235---[14/Aug/2007:09:34
236.82.28.12---[14/Aug/2007:09:34
192.162.2.235---[14/Aug/2007:09:34
236.82.28.12---[14/Aug/2007:09:34
192.162.2.235---[14/Aug/2007:09:34
192.162.2.235---[14/Aug/2007:09:34
236.82.28.12---[14/Aug/2007:09:34
192.162.2.235---[14/Aug/2007:09:34
236.82.28.12---[14/Aug/2007:09:34
明显是1.txt中IP地址第三位1被2替代了,感觉(.*\) 和 \1似乎没什么用? 将\1改成\2之后只是去掉了IP地址最后一位及后边的日期,只显示IP地址的三位.改成\3,\4和改成\2一样,真有点糊涂了,前辈指点. |
|