如何从 shell 中的指定行号添加或删除字符?

kil*_*les 4 unix bash shell sed

我有一个文件,我必须多次迭代,每次都用 python 运行它。如何从 shell 的特定行中删除或添加字符?

对于示例文件 ex.file,

$ cat ex.file
stuff
more stuff
more stuff
more stuff
#<- remove this character
<-add a pund sign here
more stuff
more stuff
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

$ cat ex.file
stuff
more stuff
more stuff
more stuff
<- remove this character
#<-add a pund sign here
more stuff
more stuff
Run Code Online (Sandbox Code Playgroud)

Joh*_*nck 5

在第 6 行的开头添加 #:

sed '6 s/^/#/' ex.file
Run Code Online (Sandbox Code Playgroud)

要从第 5 行中删除前导 #:

sed '5 s/^#//' ex.file
Run Code Online (Sandbox Code Playgroud)