文件: ~/.emacs
代码: 全选
;; AUTO ADDED BY EMACS-LOCALE
(load "/etc/emacs/site-start.d/locale/zh-cn-2")
;; EMACS-LOCALE END
;; AUTO ADDED BY EMACS-LOCALE
(load "/etc/emacs/site-start.d/locale/zh-cn-1")
(load "/etc/emacs/site-start.d/locale/zh-cn-1")
(load "/etc/emacs/site-start.d/locale/zh-cn-1")
(load "/etc/emacs/site-start.d/locale/zh-cn-2")
(load "/etc/emacs/site-start.d/locale/zh-cn-1")
;; EMACS-LOCALE END
× 对 / (1字符)转义成 \/ (2字符);
× 左括号,空格,双引号,右括号,原则上似乎不用转义,如果转义后可以实现目的,
应如何转义: 是否应像单引号,进行1转4方式的转义?即 ' 一个字符,转义成 '\'' 四个字符?
现行方案:
代码: 全选
sed -i '/^;; AUTO ADDED BY EMACS-LOCALE/d' $HOME/.emacs
sed -i '/^;; EMACS-LOCALE END/d' $HOME/.emacs
已执行方案:
代码: 全选
sed -i '/^\(load\ \"\/etc\/emacs\/site-start.d\/zh-cn-1"\)/d' $HOME/.emacs
sed -i '/^\(load\ \"\/etc\/emacs\/site-start.d\/zh-cn-2"\)/d' $HOME/.emacs
环境:ubuntu 10.04.3 i386, gnu sed 4.2.1,sh
代码: 全选
sed -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P' $HOME/.emacs
sed -i '$!N; /^\(.*\)\n\1$/!P; D' $HOME/.emacs
* 一定要是以 (load 这5个字符开头,并且后面的文字完全相符的行才能执行删除,
避免误删除别人设置的 load 语句。
* 不能进行sort 排序操作,避免文字顺序混乱;
* 尝试过先通过 sed -i 's/aa/bb/;bb/' ~/.emacs 进行替换,再将替换过的新内容删除,但仍无法见效。