如何使用sed -i命令替换从文件中的特定行开始直到另一行的字符出现?

时间:2018-05-11 13:18:45

标签: regex linux sed

我有一个文本文件,其中我想用第10行到第20行的空白字符替换“#”的出现,例如 我的文件如下:

some text here
some text here
some text here
#here1
#here2
#here3
#here4
#here5
erverv
ererver

所以这里从第4行到第8行我想删除字符#。如何使用sed -i命令实现这一目标?

2 个答案:

答案 0 :(得分:4)

使用地址范围:

sed -i -e '10,20s/^#//' file

答案 1 :(得分:0)

你可以使用

sed 's/#//' -i yourfile

使用-i标志,编辑你的文件删除所有# 你probalby希望这只删除文件开头的#

sed 's/^#//' -i yourfile

但是只针对某些行而不是全部这样做我会推荐awk。见man awk