用vim操作的时候我们经常会删掉一些行的内容,这些行就会变成空白行,下面我就简单介绍一下我经常使用的删除这些空白行的方法,方法包含了在vim里面删除和用sed命令删除俩种方式。
工具/原料
vim shell
电脑
在vi中删除
1、空白行分俩类:1.整个行什么都没有,用正则表达式表示是/^$/。2.有空格而没有字符,用正则表达式表示是/^\s\+$/。俩个通用的正则表达式是/^\s\*$/。下图左图是第二类,右图是第一类。
2、删除1的命令如下。命令:/^$/d ### 注释前面的^指行首$指行尾,最后的d指删除的意思。操作前后如下图所示:
3、删除2的命令如下。命令:/^\s\+$/d ### 注释 \s\+指1~无穷大个空格,给+加反斜杠是为了转义。
4、同时删除1、2的命令如下。命令:/^\s\*/d ### 注释 \s\* 指0~无穷大个空格,给*加反斜杠是为了转义。
sed删除
1、除了我们前面提到的用vi命令删除外,我们还可以通过shell的sed命令来删除。用sed可以通过linux的文件匹配系统进行批量操作,也可以对单独一个文件进行操作。
2、删1的命令: sed -i '/^$/d' test.txt删2的命令: sed -i '/^\s\+$/d' test.txt删1、2的命令:sed -i '/^\s*$/d' test.txt