Πώς γράφω αυτή την εντολή σε ssh;

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

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

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

Πώς γράφω αυτή την εντολή σε ssh;

Δημοσίευση από cdhyper » 07 Μαρ 2009 16:27

find * | xargs perl -p -i -e s/oldcontent/newcontent/g

Η παραπάνω εντολή αντικαθιστά σε όλους τους φακέλους μέσα στα αρχεία το "oldcontent" με το "newcontent".

Όταν θέλω να αντικαταστήσω ειδικούς χαρακτήρες ή το "/" πώς το γράφω; Δοκίμασα με escape character το "\" αλλά δεν λειτουργεί. Για παράδειγμα θέλω να αντικαταστήσω όπου υπάρχει "home/paradeigma" να γίνει "home/paradeigma2"
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Πώς γράφω αυτή την εντολή σε ssh;

Δημοσίευση από fafos » 07 Μαρ 2009 17:37

An valeis to s/oldcontent/newcontent/g anamesa se mona quotes douleuei?

's/oldcontent/newcontent/g'
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Πώς γράφω αυτή την εντολή σε ssh;

Δημοσίευση από agrippas » 07 Μαρ 2009 22:29

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

find ./ -name "mitsos" -exec rename 's/mitsos$/dimitris/' {} \;
^^ Αυτό θες για να γίνουν όλα τα XXXmitsos -> XXXdimitris. Το "./" ειναι το path που ξεκινάς το search (στην προκειμένη είναι το current dir). To {} είναι το file που βρήκε η find.

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

Πώς γράφω αυτή την εντολή σε ssh;

Δημοσίευση από cdhyper » 08 Μαρ 2009 15:59

fafos δεν δουλεύει αυτό δυστυχώς.

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

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Πώς γράφω αυτή την εντολή σε ssh;

Δημοσίευση από agrippas » 08 Μαρ 2009 20:00

A sorry δεν είδα το "μέσα στα αρχεία". Για να δουλέψει αυτό που κάνεις στην perl, άλλαξε το substitute delimiter από "/" σε "!" ή κάτι άλλο.

to find * | xargs perl -p -i -e s/oldcontent/newcontent/g

να γίνει

find * | xargs perl -p -i -e s{oldcontent}{newcontent}g

οπότε θα μπορείς να έχεις slashes μέσα στο oldcontent κλπ.

Απάντηση

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

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

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