Questions tagged «ex-command»

6
仅当文件末尾没有行时才如何在其末尾添加行?
我想通过添加一行来就地编辑文件,但前提是尚不存在以使我的脚本防弹。 通常我会做类似的事情: cat >> ~/.bashrc <<EOF export PATH=~/.composer/vendor/bin:\$PATH EOF 也可以通过ansible(line+ insertafter=EOF+ regexp)完成此操作,但这是另一回事了。 在vi / ex中,我可以执行以下操作: ex +'$s@$@\rexport PATH=\~/.composer/vendor/bin:$PATH@' -cwq ~/.bashrc 但是,然后如何在不重复同一行的情况下理想地检查该行是否已经存在(因此什么也不做)? 或者,也许在Ex编辑器中有一些更简单的方法?

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.