2016-12-21 4 views
6

Ich versuche, ein Hacker-Problem auf einigen meiner Wordpress-Installationen loszuwerden.Müssen die ersten N Zeilen von Grep-Ergebnisdateien löschen

Dieser Typ legt 9 Zeilen Code in den Kopf mehrerer Dateien auf meinem Server ... Ich versuche, grep und sed zu verwenden, um das zu lösen.

Im Versuch:

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

Aber nichts passiert, wenn ich -0 from xargs , the result of the files found are clean, but they are not overwriting the origin file with the sed` Ergebnis entfernen, kann mir jemand dabei helfen?

Vielen Dank!

Antwort

2

Sie sollten die --null Option im grep Befehl verwenden, um ein NUL Byte oder \0 nach jedem Dateinamen im grep Ausgang auszugeben. Verwenden Sie auch -i.bak in sed für Inline-Bearbeitung jeder Datei:

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

vielen Dank !!!! Ich versuche das für die letzten 4 Stunden zu lösen !! = D –

+1

@ RenanCorrêaPinto die Art zu sagen "Danke" auf [so] ist durch * Akzeptieren * (und/oder * Upvoting *) eine Antwort. –

0

Was mit Iterieren über die Dateien directly¹ falsch?

Und Sie könnten die -i flach sed hinzufügen möchten, so dass Dateien bearbeitet i n-Ort

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

gut ¹, könnten Sie Probleme bekommen, wenn Sie Ihre Dateien Zeilenumbrüche und dergleichen enthalten . aber dann ... wenn Ihre Website Dateien mit Zeilenumbrüchen enthält, haben Sie wahrscheinlich noch andere Probleme ...

Verwandte Themen