沃梦达 / 编程问答 / php问题 / 正文

使用正则表达式删除注入

Removing an injection using regex(使用正则表达式删除注入)

本文介绍了使用正则表达式删除注入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望从大约 16,000 多个文件的第 1 行中删除此特定行.

I'm looking to sed this specific line from line 1 of about 16,000+ files.

注入的开始是:

<?php if(!isset($GLOBALS`

Middle of the injection is:
`7860msvd`

And end of the injection is:
`oqggbrtstz-1; ?>

此内容仅在 1 行(第一行)

This content is in 1 line only (the first)

不知道怎么做,但我这里有以下内容;

Not sure how to do it but what I have here is the following;

sed -i -e '1 s/.*<?php if(!isset($GLOBALS.*7860msvd.*oqggbrtstz-1; ?>//g'

error: sed: -e expression #1, char 67: Unmatched ( or (

任何帮助都会很棒.

推荐答案

您遗漏了一些特殊字符,例如 ? 并使用 -r 得到期望结果

You missing to literal some special character like ? and using -r get expect result

sed -ri  '1 s/.*<?php if(!isset($GLOBALS.*7860msvd.*oqggbrtstz-1; ?>//g' File

   -r, --regexp-extended

          use extended regular expressions in the script.

这篇关于使用正则表达式删除注入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:使用正则表达式删除注入

基础教程推荐