shell中批量注释和取消注释的方法

#!/bin/bash
echo "1"
echo "2"
echo "3"
echo "4"
echo "5"
echo "6"
     

上面这段shell会依次打印1~6

假设我们想只打印5和6,想将1-4注释掉,除了正常的做法,每行前面加#进行注释外

一、手动添加注释

我们还可以用个取巧的办法,也可以写成下面这种

#!/bin/bash
:<<EOF
echo "1"
echo "2"
echo "3"
echo "4"
EOF
echo "5"
echo "6"

冒号在shell里是一个命令,代表什么都不做

 

另外

: > data.log 等同于 cat /dev/null > data.log 可以起到清空文件内容的作用

 

还可以将1-4的输入重定向追加到黑洞中

#!/bin/bash
cat >/dev/null<<EOF
echo "1"
echo "2"
echo "3"
echo "4"
EOF
echo "5"
echo "6"

 

二、利用vim批量添加注释

1.块选择模式

插入注释

首先用vim打开我们要操作的脚本,

然后将光标移动到我们要操作的首行(这里我们移动到echo "1"的左方),接着按v进入-- 可视(visual) --模式

 

 

 

 

然后用上下键选中需要注释的行数(这里我们使用下方向键一直移动到echo "4"那行)

 

然后按ctrl+v(win下面ctrl+q)进入列模式

 

 

 按大写“I”进入插入模式,输入注释符“#”或者是"//",然后立刻按下ESC(两下)

最终效果如下

 

 

取消注释

ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,

选好之后按d即可删除注释

 

方法二 替换命令

批量注释:


使用下面命令在指定的行首添加注释:

:起始行号,结束行号s/^/注释符/g

 


我们这里是要操作第2行到第5行,所以用vim打开脚本后,输入

:2,5s/^/#/g

 

 然后回车,即可完成替换

 

 

取消注释:

:起始行号,结束行号s/^注释符//g

 

这里我们使用

:2,5s/^#//g

 

 回车

 

 

 

参考文章

https://blog.csdn.net/xiajun07061225/article/details/8488210

 

 

posted @ 2020-03-09 23:47  听风。  阅读(15375)  评论(3编辑  收藏  举报