温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - linux sed remove block of code with linebreak
linux sed

其他 - linux sed用换行符删除代码块

发布于 2020-04-04 10:21:38

尝试从脚本中删除整个代码块:

https://pastebin.com/gBnFBQSR

我可以这么做直到换行和结束}

sed '/var gfjfgjk/,/appendChild(s);\n}/d'

如何包含换行符和}最后

查看更多

提问者
JCats
被浏览
79
JCats 2020-02-01 00:24

感谢@WiktorStribiżew链接:

for i in $(grep -rl gfjfgjk) ; do if grep -m1 gfjfgjk $i >/dev/null 2>&1 ; then echo $i ; sed -i -e '1,6d;7s/^}//' $i ; fi; done

唯一不同的是,我想确保gfjfgjk与文件的第一行匹配,以防文件被注入到脚本的其他位置,然后sed删除了合法代码的前7行。