linux - sed 命令如何替换多行内容?
大家讲道理
大家讲道理 2017-04-17 15:30:20
0
2
501

现在有个 setup.py 文件有包含以下一段内容:

# 其它代码 ...

speedups = Feature(
    'optional C speed-enhancement module',
    standard=True,
    ext_modules=[
        Extension('markupsafe._speedups', ['markupsafe/_speedups.c']),
    ],
)

# 其它代码 ...

如何用 sed 命令把这几行内容删掉或者注释掉?


OK,刚刚看了文档试了下,问题解决了,命令行如下:

cat setup.py | sed "/^speedups = Feature/,/^)$/s/.*//g"

先选定从 speedups = Feature 开始到右括号 ) 结束的范围内的文本行,然后都替换成空。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all(2)
Peter_Zhu

Simple, you can also use the d command:

sed -i "/^speedups = Feature/,/^)$/d" setup.py
左手右手慢动作

sed -i s/^/#/g setup.sh add comments

sed -i "/^speedups = Feature/,/^)$/d" setup.py delete

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!