关于这段文字
hardware mac 33:33:333:33:33
hardware mac 33:13:333:33:33
hardware mac 33:23:333:23:34
hardware mac 33:033:133:33:35
...
我想替换所有以 hardware mac 开头的行
hardware mac 00:00:00:00:00:00
我努力了
sed s/^hardware mac/hardware mac 00:00:00:00:00:00/gc
并给出错误
也是经典的vim命令
%s:/^hardware mac/hardware mac 00:00:00:00:00:00/gc
但仅更改字符串硬件 mac,保持数字不变。如何用我的字符串替换以硬件 mac 开头的字符串?
答案1
你几乎做对了,你只是忘记匹配该行的其余部分(在vim
):
:%s/^hardware mac.*/hardware mac 00:00:00:00:00:00/gc
gc
如果您确定自己在做什么,则可以在最后删除这些选项,g
这可能是不必要的,因为每行不会匹配多次。
与sed
它是同一件事:
sed -i 's/^hardware mac.*/hardware mac 00:00:00:00:00:00/' filename
请注意,sed
的替换命令s
不接受c
(确认)标志,就像vim
那样。