2014-12-03 83 views
0

我們提供的是共享主機,我們大多數客戶都使用易受攻擊的插件,這導致很多被黑客入侵的文件正在上傳,現在我想刪除這些文件。需要Shell腳本才能找到這個模式

如果這種模式[xx](x是數字)在一行中有多次。至少它應該在那裏10次,然後它是一個黑客/垃圾郵件文件,然後我可以刪除它們。我嘗試了這麼多種組合,似乎沒有任何工作。

$GLOBALS['vtton6'] = $r76[94].$r76[24].$r76[24].$r76[49].$r76[24].$r76[54].$r76[24].$r76[94].$r76[41].$r76[49].$r76[24].$r76[87].$r76[53].$r76[58].$r76[61]; $GLOBALS['jlxru64'] = $r76[53].$r76[58].$r76[53].$r76[54].$r76[66].$r76[94].$r76[87]; $GLOBALS['vajox38'] = $r76[95].$r76[94].$r76[7].$r76[53].$r76[58].$r76[94]; $GLOBALS['qobdl72'] = $r76[36].$r76[70].$r76[27].$r76[45].$r76[61].$r76[76].$r76[31]; $GLOBALS['yhrfr40'] = $r76[20].$r76[69].$r76[36].$r76[20].$r76[58].$r76[15].$r76[46]; $GLOBALS['quzii24'] = $r76[78].$r76[95].$r76[28]; $GLOBALS['tlyiy12'] = $r76[27].$r76[49].$r76[45].$r76[58].$r76[87]; 
+0

這適用於單個事件,但我尋找一個腳本,可以檢測多次出現。 grep'\ [[0-9] [0-9] \]'defines.php – Mani 2014-12-03 06:56:33

+0

grep'\ [[0-9] [0-9] \] {10,}'defines.php ==>這不起作用 – Mani 2014-12-03 06:57:42

回答

0

如何

$ grep -E '(\[[0-9]+\].*){10}' inputFile 

RegexDemo

要刪除的文件,

$ grep -qE '(\[[0-9]+\].*){10}' inputFile && rm inputFile 

OR

一冗長的解決辦法是像

$ [ $(grep -oE '\[[0-9]+\]' inputFile | wc -l) -ge 10 ] && rm inputFile 
+0

非常好,謝謝。它適用於上面給出的示例。但它不適用於以下... r76 [24]。$ r76 [87]。$ r76 [53]。$ r76 [58]。$ r76 [61]; $ GLOBALS ['jlxru64'] = $ r76 [53]。$ r76 [58]。$ r76 [53]。$ r76 [05] $ r76 [05] $ r76 [05] – Mani 2014-12-03 07:08:44

+0

@Mani我編輯了我的awer。希望它現在有效 – nu11p01n73R 2014-12-03 07:11:07

+0

謝謝你的回答 – Mani 2014-12-04 07:15:33

0
find -name '*.php' -exec \ 
     sed -n 's!.*\(\[[0-9][0-9]\].*\)\{10\}.*!'{}'!p' {} \; | \ 
     uniq