2
使用ex-command检查两行是否相同?
我一直在看这个问题,然后想知道如何使用纯 POSIX 实现我的答案 sed。ex 诀窍是,虽然sed我可以比较保持空间和模式空间以查看它们是否完全相等(用 G;/^\(.*\)\n\1$/{do something}),但是我不知道在中进行这种测试的方法ex。 我知道在Vim中,我可以Y使第一行变短,然后键入 :2,$g/<C-r>0/d以几乎执行我指定的操作-但是如果第一行包含除非常简单的字母数字文本之外的任何内容,这的确会带来麻烦,因为该行已作为正则表达式转储了进来。 ,而不仅仅是用于比较的字符串。(如果第一行包含正斜杠,则该行的其余部分将被解释为命令!) 因此,如果我想删除myfile与第一行相同的所有行,但又不想删除第一行,该如何使用ex?为此,我该如何使用vi? 如果某行与另一行完全匹配,是否有POSIX方法删除该行? 可能是这样的虚构语法: :2,$g/**lines equal to "0**/d