我经常收到我们支持人员在 isc-dhcp 上进行 dhcp 预订的票证。有些打印机(cof、cof HP)在测试页上打印mac地址信息是这样的:002481F33A9C;显然,支持人员会以这种方式写入票证。我想更改为 00:24:81:F3:3A:9C 布局并使用有效的方法来执行“插入:在 2 个字符后 4 次”。
我知道我可以通过宏来实现这一点:
qq " start recording -> register q
ll " move the cursor 2 characters right
i " enter insert mode
: " insert :
<Esc> " switch to normal mode and cursor goes 1 character back
l " move the cursor 1 character right(since insert mode back one character)
q " stop recording
4@q " execute macro 4 times
然后是这个:
host foo {
hardware ethernet 002481F33A9C;
fixed-address 192.x.x.x;
}
将变成这样:
host foo {
hardware ethernet 00:24:81:F3:3A:9C;
fixed-address 192.x.x.x;
}
有没有一种方法可以通过命令行模式更快地实现此目的,并且无需录制宏,因为我们有很多办公室,并且将带有此宏的 vimrc 传递到所有机器(和冗余机器)可能会很痛苦?
Cheers
一个可能的解决方案:
:%s/\v(hardware ethernet) (..)(..)(..)(..)(..)(..);$/\1 \2:\3:\4:\5:\6\:\7;/g
解释:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)