2016-12-21 14 views
6

Bazı wordpress yüklemelerimde hacker sorunlarından kurtulmaya çalışıyorum.grep sonuç dosyalarının ilk N satırlarını silmeniz gerekiyor

Bu adam, sunucumdaki birden çok dosyanın başına 9 satırlık kod koyar ... Bunu çözmek için grep ve sed kullanmaya çalışıyorum.

Im çalışıyor: Ben sed` sonuç -0 from xargs , the result of the files found are clean, but they are not overwriting the origin file with the kaldırırsanız,

grep -r -l "//360cdn.win/c.css" | xargs -0 sed -e '1,9d' < {} 

Ama hiçbir şey oluyor, herkes bu konuda bana yardımcı olabilir?

Çok teşekkürler!

cevap

2

grep çıktısında her dosya adından sonra NUL bayt veya \0 çıktısı için grep komutunda --null seçeneğini kullanmalısınız. Ayrıca her dosyanın satır içi düzenlemeye sed yılında -i.bak kullanın: dosyaları directly¹ üzerinde iterating nesi var

grep -lR --null '//360cdn.win/c\.css' . | xargs -0 sed -i.bak '1,9d' 
+1

çok teşekkür ederim !!!! Son 4 saat için bunu çözmeye çalışıyorum !! = D –

+1

@ RenanCorrêaSolda "teşekkür ederim" demek için bir yol * ile * (ve/veya * yükseltme *) bir yanıttır. –

0

? dosyalar düzenlenmiş böylece

Ve için -i düz eklemek isteyebilirsiniz sed i n-yer

grep -r -l "//360cdn.win/c.css" | while read f 
do 
    sed -e '1,9d' -i "${f}" 
done 

Dosyalarınızı yeni satır içeren ve benzeri eğer iyi, sorunları alabilirsiniz ¹ . ama sonra ... web sitenizde yeni satırlarla dosya içeriyorsa, muhtemelen başka sorunlarınız varsa ...

İlgili konular