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

Shell et commandes GNU Discussion :

REGEX - Parenthèse dans un fichier


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut REGEX - Parenthèse dans un fichier
    Bonjour à tous,

    Je souhaite faire un tri dans mes sauvegardes de photos pour fusionner le tout dans une seule.

    J'utilise photos ( mac os), et quand j'exporte les photos, j'ai des fichiers en doublons, avec divers nommages mais souvent une parenthèse inclus dedans
    Exemple : P4120175 (1).jpeg, IMG_0069 (2).jpeg, la valeur pouvant varier également.

    Le but de la commande est de pouvoir déplacer tous ses fichiers dans un autre dossier. J'ai penser à un début de commande :

    Si quelqu'un peut m'aider , merci d'avance !

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonjour,

    on ne parcourt pas la sortie de ls, c'est source d'erreur.
    Code bash & GNU findUtils : Sélectionner tout - Visualiser dans une fenêtre à part
    $ find "${repRecherche:-./}" -type f -regex '.*([0-9]\+)\..*'
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Si c'est sur un seul répertoire, le find n'est pas utile, un simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in *\({[0-9],[0-9][0-9]}\).jpg
    do
        ....actions  "$i"....
    done
    Peut suffire si on ne dépasse pas 99 doublons par fichier

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    c'est quand même écrit en gros :
    REGEX - parenthèse dans un fichier


    mais, en effet, une regex n'est pas indispensable.
    par contre, pour ne pas descendre dans les sous-répertoires, avec find, on peut ajouter -maxdepth 1
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    ok, via regex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    shopt -s extglob
    for i in *\(+([0-9])\).jpg
    do
      ....action "$i"....
    done

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    une REGEX !

    le Développement de chemins (globs) et ses extensions (extglob) ne sont pas des regex.

    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Réponses: 15
    Dernier message: 15/03/2013, 10h21
  2. Supprimer les parenthèses dans un fichier texte
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 16/01/2013, 00h52
  3. [RegEx] Parenthèse dans Regex
    Par Epica84 dans le forum Langage
    Réponses: 5
    Dernier message: 09/02/2011, 10h30
  4. ajouter des parenthèses dans un fichier txt
    Par AZzjeioafh dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 20/09/2009, 10h24
  5. [RegEx] regex et recherche de texte dans un fichier
    Par minusette dans le forum Langage
    Réponses: 2
    Dernier message: 26/06/2007, 13h25

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