Answers
sed 是流编辑器,要解决这个问题要一些技巧,
sed -n '/^"/{H;d};/^"/!{/<leader>/{H;x;p;s/.*//;x;d};/<leader>/!{s/.*//;x;d};};' vimrc
应该能够达到要求,sed 命令教程请见
http://www.grymoire.com/Unix/Sed.html
,详细说明如下。
sed -n ' /^"/ { # 匹配到注释行,附加到缓冲空间 H # 删除模式空间,开始新一轮匹配 d } /^"/ !{ # 匹配到非注释行 /<leader>/ { # 匹配到目标行,附加到缓冲空间 H # 交换缓冲空间和模式空间 x # 打印模式空间 p # 清空缓冲空间 s/.*// x # 删除模式空间,开始新一轮匹配 d } /<leader>/ !{ # 非目标行,清除缓冲空间 s/.*// x # 删除模式空间,开始新一轮匹配 d } }' vimrc
这类问题可能还是用 awk 比较合适。
昔日的小伙伴
answered 11 years, 8 months ago