;
在文本文件中,我需要通过添加 a作为每行的第一个字符来注释掉所有行。有什么好的方法可以做到这一点?我想到了 Vim 的视觉块模式,但我找不到“全选”选项,并且手动标记几百行也不是很好。
任何想法?我手头有 nano、vi 和 vim,我更喜欢其中一个来完成这项任务。
答案1
在 Vim 中,您还可以在所有行的开头进行全局替换:
:%s/^/;/
答案2
在维姆中:gg0<ctrl-v>GI;<Esc>
答案3
对于这样的简单任务,您可以使用sed
或perl
。对于较小的占用空间,请用于sed
以下简单任务:
sed -i.old -e 's/^/;/' file
这会将原始文件的副本保留为“*.old”并添加一个“;”在每行的开头。
如果您的sed
不是 GNU 版本(许多 Unix 变体都是这种情况),您可能没有 inplace ( -i
) 选项。要么简单地重定向到一个新的输出文件,要么使用 Perl 作为perl -pi.old -e 's/^/;/' file
答案4
您可以仅使用 vi 编辑器来完成此操作 -
:%s/^/;/g