它将在接下来的每一行的开头添加#,后跟一个空格,直到段落末尾(段落之间用空行分隔)。已经以 # 开头的行不会被修改 例如以下输入
a b c
d e f
# g h i
j k l
m n o
p q r
s t u
# v w x
# y z 1
2 3 4
# 5 6 7
8 9 0
将被修改为
a b c
d e f
# g h i
# j k l
# m n o
p q r
s t u
# v w x
# y z 1
# 2 3 4
# 5 6 7
# 8 9 0
答案1
尝试这个,
awk '/^$/{comm=0}{if($1~/^#/){comm=1}else{if(comm){$1="# "$1}} print}' file
或相同的长形式:
awk '
# reset on empty line
/^$/{comm=0}
{
if ($1~/^#/) {
# start commenting lines when # found
comm=1
}
else {
# comment lines not starting with #
if (comm){ $1="# "$1 }
}
print
}
' file