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

Solaris Discussion :

find, copy and replace


Sujet :

Solaris

  1. #1
    Nouveau membre du Club
    Inscrit en
    mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut find, copy and replace
    Bonjours a tous,

    Quelqu'un peut il m'aider???

    Mon souci est de creer un script qui recherche les fichiers modifies au moins le 01 mars 2014 jusqu'aujourd'hui dans le repertoire X, ensuite de les copier vers un repertoire Y et enfin de remplacer dans ces fichiers tous les occurences du mot "REC" par "20".

    Voici ce que j'ai essaye mais sans resultats entendus:

    find /var/www/html/X/ -mtime +01032014 | xargs cp /var/www/html/dir/Y| find /var/www/html/dir/Y -name REC -exec mv - 20 {} \;

    Merci pour vos reponses

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    mai 2004
    Messages
    9 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : mai 2004
    Messages : 9 985
    Points : 27 279
    Points
    27 279
    Par défaut
    Citation Envoyé par charrynsasi Voir le message
    Mon souci est de creer un script qui recherche les fichiers modifies au moins le 01 mars 2014 jusqu'aujourd'hui dans le repertoire X, ensuite de les copier vers un repertoire Y et enfin de remplacer dans ces fichiers tous les occurences du mot "REC" par "20".

    Voici ce que j'ai essaye mais sans resultats entendus:

    find /var/www/html/X/ -mtime +01032014 | xargs cp /var/www/html/dir/Y| find /var/www/html/dir/Y -name REC -exec mv - 20 {} \;

    Merci pour vos reponses
    Il faut absolument que ce soit en une seule commande ?

    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /var/www/html/X/ -mtime +01032014 -exec cp {} /var/www/html/dir/y
    Pour la suite, je ne suis pas certain de ce que tu veux faire : est-ce que c'est comme tu dis DANS les fichiers que tu cherches a remplacer REC par 20, ou biens dans les NOMS des fichiers ?
    Dans les fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pi -e 's/REC/20/g' /var/www/html/dir/Y/*
    Dans les noms des fichiers, est-ce que tu as la commande rename ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Nouveau membre du Club
    Inscrit en
    mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut
    Bonsoir gangsoleil,

    Merci encore pour ta reponse rapide.

    Quand j'execute le premier shell, j'obtiens le message d'erreur suivant : "find: incomplete statement". Oui je recherche dans les fichiers et je dois remplacer l'occurence du mor REC par 20.

    Merci encore

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    mai 2004
    Messages
    9 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : mai 2004
    Messages : 9 985
    Points : 27 279
    Points
    27 279
    Par défaut
    Citation Envoyé par charrynsasi Voir le message
    Quand j'execute le premier shell, j'obtiens le message d'erreur suivant : "find: incomplete statement".
    normal, c'est ca la bonne ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /var/www/html/X/ -mtime +01032014 -exec cp {} /var/www/html/dir/y \;
    Oui je recherche dans les fichiers et je dois remplacer l'occurence du mor REC par 20.
    alors la commande perl que j'ai donne doit fonctionner
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Nouveau membre du Club
    Inscrit en
    mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut
    Bonjours gangsoleil,

    Quand j'execute maintenant le script, il genere plus d'erreur mais les fichiers ne se copient pas, dans le repertoire X, ce sont des fichiers .csv que je vais copier vers Y.

    Merci encore.

  6. #6
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    mai 2004
    Messages
    9 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : mai 2004
    Messages : 9 985
    Points : 27 279
    Points
    27 279
    Par défaut
    Citation Envoyé par charrynsasi Voir le message
    Bonjours gangsoleil,

    Quand j'execute maintenant le script, il genere plus d'erreur mais les fichiers ne se copient pas, dans le repertoire X, ce sont des fichiers .csv que je vais copier vers Y.

    Merci encore.
    Avec un / apres le y ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find/var/www/html/X/-mtime +01032014 -execcp{}/var/www/html/dir/y/ \;
    Attention, le find va te retourner les fichiers avec le chemin complet. Si tu ne veux pas le garder, il va te falloir passer par "basename" par exemple.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  7. #7
    Nouveau membre du Club
    Inscrit en
    mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut
    Bonjours gangsoleil,

    Ca marche apres une legere correction, il fallait compter le nombre de jours qui s'ecoule entre le 01 mars jusqu'a aujourd'hui :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /u1/vasex/vx_rms/cnsasi/Kirusa -mtime -55 -exec cp {} /u1/vasex/vx_rms/cnsasi/ \;
    Merci encore, je teste le renomage et je te dis quoi.

Discussions similaires

  1. Find and Replace
    Par Newenda dans le forum MATLAB
    Réponses: 2
    Dernier message: 02/06/2009, 15h38
  2. Faire un Find and Replace dans un DataGridView
    Par Contrec dans le forum C#
    Réponses: 5
    Dernier message: 29/08/2007, 09h40
  3. Find and replace sur plusieur fichiers
    Par dazhoid dans le forum MATLAB
    Réponses: 1
    Dernier message: 30/08/2006, 16h18
  4. find and replace dans word
    Par Thargor dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 21/06/2006, 15h01

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