vi 中的替换
现在我有这样的一些文字
abc:
as/abc/w_f=5#w_t=6
as/abc/w_f=1#w_t=1
as/abc/w_f=2#w_t=2
def:
as/def/w_f=7#w_t=7
as/def/w_f=9#w_t=9
as/def/w_f=8#w_t=8
ddd:
as/ddd/w_f=9#w_t=9
as/ddd/w_f=8#w_t=8
as/ddd/w_f=2#w_t=2
我想把 def 下所有的 w_f 和 w_t 替换成 s_f 和 s_t
有什么命令可以一下替换掉吗?
先谢谢了
------解决方案--------------------不熟悉,正在学习中,帮顶。
你可以翻一下手册。
------解决方案--------------------开始行号,结束行号 s/w_f/s_f/g
开始行号,结束行号 s/w_t/s_t/g
你进vi后,执行set number=1
可以看到行号的,然后你就可以得到起始行号,结束行号了
------解决方案--------------------对于你提供的文字可以::6,9 s/w/s/g
------解决方案--------------------Assembly code
awk 'BEGIN{RS=""}{if(/def/){gsub(/w_f/,"s_t");print $0 >>"newfile"}else print >>"newfile"
}' oldfile