sed는 줄 번호를 표시하고 주석을 추가/제거합니다.

sed는 줄 번호를 표시하고 주석을 추가/제거합니다.

다음 명령을 사용하여 지정된 줄 번호를 표시할 수 있습니다.

sed -n '22p; 24p; 27p' blah.conf

산출

A
B
C

지정된 3개의 줄 번호 시작 부분에 주석 #을 삽입해야 합니다. 이 명령을 실행하여 22행에서 24행까지 주석을 추가하는 데 성공했지만 줄 번호를 지정하지 않았습니다. 많은 구문을 시도했지만 실패했습니다.

sed -i '22,24 s/^/#/' blah.conf

산출

#A
#B
#C

댓글 삽입이 작동하면 댓글을 삭제하기 위해 반대 작업을 수행하는 명령도 필요합니다.

산출

A
B
C

감사해요

답변1

모든 공백을 그대로 유지하면서 특정 줄의 주석을 전환해야 합니다.

$ cat file
A
# B
  C

$ sed -Ei '2b1;3b1;b;:1;s/^([[:blank:]]*)#/\1/;t;s/^([[:blank:]]*[^#[:blank:]])/#\1' file

# Run the same cat again
$ !cat
A
 B
#  C

# Run the same sed again
$ !sed

# Run the same cat again
$ !cat
A
# B
  C

전환해야 하는 각 행에 대해 <n>b1;추가합니다 . 먼저 를 사용하거나 사용하지 않고 시도해 보세요.<n>
-i-i.bak

( sed나뭇가지통과하다)

관련 정보