我可以使用命令显示指定行号
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
分支通过)