단락이 끝날 때까지 각 후속 줄의 시작 부분에 # 뒤에 공백이 추가됩니다(단락은 빈 줄로 구분됩니다). 이미 #으로 시작하는 줄은 수정되지 않습니다. 예를 들어 다음 입력은 수정되지 않습니다.
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