IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

sed executé sur un retour de commande


Sujet :

Linux

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut sed executé sur un retour de commande
    Bonjour,

    J'utilise un script pour faire des remplacement dans des fichiers html, mon script est de ce type:

    sed -itmp "s/oldValue/newValue/g" `find $1 -name "*.html"

    avec comme paramètre le nom du répertoire dans lequel je veux faire le remplacement, pour l'instant ça marche bien.

    Mais ce que je voudrais faire c'est utiliser le réultat du find pour l'utiliser dans mon remplacement, est-il possible de récupérer dans une variable le résultat du find?

    Bon sinon je peux faire ça avec dans une boucle, mais c'était aussi pour info pour savoir si c'est possible.

    Merci!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    genre ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find $1 -name "*.html" | xargs sed -itmp "s/oldValue/newValue/g"

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je ne connaissais pas xargs, je vais regarder comment l'utiliser.
    Pour l'instant j'ai essayé:

    find $1 -name "*.html" | xargs -i sed -itmp "s/oldValue/newValue{}/g"

    Mais ça ne marche pas
    Je continue à chercher...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    voici un exemple simple facile a comprendre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    find . #affiche la liste de tous les fichiers de ton arborescence
    find . | xargs grep PATTERN # cherche le pattern dans tous les fichiers de ton arborescence
    ça revient à faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for elt in `find .`
    do
       grep PATTERN $elt
    done

Discussions similaires

  1. Executer php en ligne de commande sur Debian
    Par chabliya dans le forum Langage
    Réponses: 3
    Dernier message: 27/01/2012, 14h11
  2. Réponses: 1
    Dernier message: 05/10/2010, 20h13
  3. click sur un bouton pour commande executée
    Par fred1599 dans le forum Tkinter
    Réponses: 14
    Dernier message: 13/12/2007, 18h24
  4. Réponses: 2
    Dernier message: 22/04/2004, 14h28
  5. Récuperer Arguments sur la ligne de commande ?
    Par Muetdhiver dans le forum x86 16-bits
    Réponses: 9
    Dernier message: 20/01/2003, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo