如何替換文本文件中的ip地址
-
- 帖子: 7
- 注册时间: 2011-09-02 12:09
如何替換文本文件中的ip地址
ifconfig
eth0 Link encap:以太网 硬件地址 40:61:86:62:72:b2
inet 地址:192.168.0.168 广播:192.168.0.255 掩码:255.255.255.0
inet6 地址: fe80::4261:86ff:fe62:72b2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:151136 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:140726 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:149009770 (149.0 MB) 发送字节:18440180 (18.4 MB)
中断:45
lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 跃点数:1
接收数据包:978 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:978 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:103718 (103.7 KB) 发送字节:103718 (103.7 KB)
ppp0 Link encap:点对点协议
inet 地址:222.175.62.207 点对点:222.175.62.1 掩码:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 跃点数:1
接收数据包:144756 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:130682 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:3
接收字节:140200246 (140.2 MB) 发送字节:14536673 (14.5 MB)
想截取这个命令的输出结果
ppp0 Link encap:点对点协议
inet 地址:222.175.62.207 点对点:222.175.62.1 掩码:255.255.255.255
这个部分的222.175.62.207
然后把222.175.62.207替换到 a文本中 a.b.c.d
对linux命令行一头乌水,呵呵,定向和管道不知道怎么用!
eth0 Link encap:以太网 硬件地址 40:61:86:62:72:b2
inet 地址:192.168.0.168 广播:192.168.0.255 掩码:255.255.255.0
inet6 地址: fe80::4261:86ff:fe62:72b2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:151136 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:140726 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:149009770 (149.0 MB) 发送字节:18440180 (18.4 MB)
中断:45
lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 跃点数:1
接收数据包:978 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:978 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:0
接收字节:103718 (103.7 KB) 发送字节:103718 (103.7 KB)
ppp0 Link encap:点对点协议
inet 地址:222.175.62.207 点对点:222.175.62.1 掩码:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 跃点数:1
接收数据包:144756 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:130682 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:3
接收字节:140200246 (140.2 MB) 发送字节:14536673 (14.5 MB)
想截取这个命令的输出结果
ppp0 Link encap:点对点协议
inet 地址:222.175.62.207 点对点:222.175.62.1 掩码:255.255.255.255
这个部分的222.175.62.207
然后把222.175.62.207替换到 a文本中 a.b.c.d
对linux命令行一头乌水,呵呵,定向和管道不知道怎么用!
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 请教一下有一件事想用命令来解决,不知道该怎么做!
grep+sed差不多吧,但是我不怎么会。我可以用py写个,如果你要的话。。。明天再说吧
-
- 帖子: 7
- 注册时间: 2011-09-02 12:09
- royclark
- 帖子: 301
- 注册时间: 2011-05-15 1:01
- 系统: Debian GNU/Linux sid
Re: 请教一下有一件事想用命令来解决,不知道该怎么做!
一个糟糕的实现。
上面只能打印 ip 。要把它替换 a 中的 a.b.c.d 就不懂了。要是 a 是空的还好办。

代码: 全选
ifconfig ppp0 | grep '\<inet\>' | awk '{print $2}' | cut -d ':' -f 2
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教一下有一件事想用命令来解决,不知道该怎么做!
[bash]ifconfig ppp0 | grep '\<inet\>' | awk '{print $2}' | cut -d ':' -f 2 | xargs -I{} sed -i 's/a\.b\.c\.d/{}/' a[/bash]royclark 写了:一个糟糕的实现。
上面只能打印 ip 。要把它替换 a 中的 a.b.c.d 就不懂了。要是 a 是空的还好办。代码: 全选
ifconfig ppp0 | grep '\<inet\>' | awk '{print $2}' | cut -d ':' -f 2
或者不用 xargs:
[bash]sed -i "s/a\\.b\\.c\\.d/$(ifconfig ppp0 | grep '\<inet\>' | awk '{print $2}' | cut -d ':' -f 2)/" a[/bash]
-
- 帖子: 7
- 注册时间: 2011-09-02 12:09
Re: 请教一下有一件事想用命令来解决,不知道该怎么做!
太感谢各位指点了,要好好学习命令行了,真的好厉害!
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 请教一下有一件事想用命令来解决,不知道该怎么做!
看来是得好好地看看man了
- cppking
- 帖子: 432
- 注册时间: 2009-09-23 13:35
- 来自: 中国大陆
Re: 请教一下有一件事想用命令来解决,不知道该怎么做!
其实这个命令已经到位了,楼主的意思其实就是把那个IP提取出来,至于格式,就是xxx.xxx.xxx.xxxroyclark 写了:一个糟糕的实现。
上面只能打印 ip 。要把它替换 a 中的 a.b.c.d 就不懂了。要是 a 是空的还好办。代码: 全选
ifconfig ppp0 | grep '\<inet\>' | awk '{print $2}' | cut -d ':' -f 2
他写成a.b.c.d让大家产生了歧义
原来,女生是要追的~~
- naturalaw
- 帖子: 1360
- 注册时间: 2011-09-06 22:04
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教一下有一件事想用命令来解决,不知道该怎么做!
错!不是大家产生了歧义,而是楼主的表述本身有歧义。请不要使用病句,虽然它的后果没有歧义句那么严重。cppking 写了:其实这个命令已经到位了,楼主的意思其实就是把那个IP提取出来,至于格式,就是xxx.xxx.xxx.xxxroyclark 写了:一个糟糕的实现。
上面只能打印 ip 。要把它替换 a 中的 a.b.c.d 就不懂了。要是 a 是空的还好办。代码: 全选
ifconfig ppp0 | grep '\<inet\>' | awk '{print $2}' | cut -d ':' -f 2
他写成a.b.c.d让大家产生了歧义
-
- 帖子: 7
- 注册时间: 2011-09-02 12:09
Re: 请教一下有一件事想用命令来解决,不知道该怎么做!
不好意思,表述是有点问题
其实是一个命令行文件linux下面配置isatap a.sh,内容如下
sudo ip tunnel del is_sjtu
sudo ip tunnel add is_sjtu mode isatap remote 202.112.26.246 local a.b.c.d
sudo ip link set is_sjtu up
sudo ip tunnel prl prl-default 202.112.26.246 dev is_sjtu
sudo ip -6 route add default via fe80::5efe:202.112.26.246 dev is_sjtu
sudo rdisc6 is_sjtu
因为每次上网拔号ip不一样,就想到替换,看了大家的帮助就直接写成如下就行了
sudo ip tunnel del is_sjtu
sudo ip tunnel add is_sjtu mode isatap remote 202.112.26.246 local $(ifconfig ppp0 | grep '\<inet\>' | awk '{print $2}' | cut -d ':' -f 2)
sudo ip link set is_sjtu up
sudo ip tunnel prl prl-default 202.112.26.246 dev is_sjtu
sudo ip -6 route add default via fe80::5efe:202.112.26.246 dev is_sjtu
sudo rdisc6 is_sjtu
其实是一个命令行文件linux下面配置isatap a.sh,内容如下
sudo ip tunnel del is_sjtu
sudo ip tunnel add is_sjtu mode isatap remote 202.112.26.246 local a.b.c.d
sudo ip link set is_sjtu up
sudo ip tunnel prl prl-default 202.112.26.246 dev is_sjtu
sudo ip -6 route add default via fe80::5efe:202.112.26.246 dev is_sjtu
sudo rdisc6 is_sjtu
因为每次上网拔号ip不一样,就想到替换,看了大家的帮助就直接写成如下就行了
sudo ip tunnel del is_sjtu
sudo ip tunnel add is_sjtu mode isatap remote 202.112.26.246 local $(ifconfig ppp0 | grep '\<inet\>' | awk '{print $2}' | cut -d ':' -f 2)
sudo ip link set is_sjtu up
sudo ip tunnel prl prl-default 202.112.26.246 dev is_sjtu
sudo ip -6 route add default via fe80::5efe:202.112.26.246 dev is_sjtu
sudo rdisc6 is_sjtu