0

我有一个需要修改原始文件的接口列表, .以便:我可以将它们输入到 ifconfig 脚本中。

它看起来基本上是这样的:

eth0.1 192.168.0.1 255.255.255.0

eth0.2 192.168.1.1 255.255.255.0

eth0.3 192.168.2.1 255.255.255.0

使用我的基本 sed 知识,我可以执行以下操作:

sed -i 's/\./\:/g' <test_file>

这变成.:.

eth0:1 192:168:0:1 255:255:255:0

现在,如果我不修改原始文件,我知道我可以,awk '{print $1}'但是我不知道在使用sed -i.

我应该提一下,还有某些行不是子接口,例如:

eth1 10.10.10.1 255.255.255.0

g不幸的是,删除sed(我确信这是正确的方向)将这些行的第一个八位组修改为:

eth1 10:10.10.1...
4

1 回答 1

2

试试这个 :

sed -i -r 's/^(eth[0-9]+)\./\1:/' file.txt

输出 :

eth0:1 192.168.0.1 255.255.255.0
eth0:2 192.168.1.1 255.255.255.0
eth0:3 192.168.2.1 255.255.255.0
于 2013-02-22T16:14:53.440 回答