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 :

récupérer nom de fichier sans l'extension


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut récupérer nom de fichier sans l'extension
    Bonjour, existe-t-il un équivalent à 'basename' pour récupérer les noms de fichiers sans le l'extension. Je cherche à supprimer l'extension d'une liste de fichiers de type différent. Sinon comment faire ??

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Pourquoi basename ne conviendrait-il pas?
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    euuuh... il faut demander à l'auteur de 'basename'
    je cherche une commande équivalente à :
    basename $fichier .*
    (celle-ci n'existe pas)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    basename convient parfaitement bien, mais tu devras l'intégrer dans une boucle pour traiter tous les fichiers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #! /bin/sh
     
    for fichier in /chemin/vers/ton/repertoire/*
    do
        echo $(basename $fichier .${fichier##*.})
    done
    Remplace echo par un mv si tu es satisfait du résultat.
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Je vais répondre seul, merci google, je le fais bosser alors que c'est sont anniversaire :s

    ${fichier%.*}"

    Si jamais quelqu'un a une autre solution je suis preneur

    Oups , j'étais en train de répondre quand t'as posté

    Merci ripat

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Attention avec l'opérateur de substitution %.* tu supprimes la plus plus petite partie correspondante. Tu risques d'avoir des problèmes avec des fichiers comme:
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  7. #7
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Avec zsh, il suffit d'ajouter :r après la variable.

    Pour renommer tous les fichiers et enlever leur extension :
    (zsh seulement, après un "autoload zmv")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] Récupérer le nom du fichier sans l'extension à partir du chemin complet
    Par mathieu_r dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 29/07/2014, 12h10
  2. Récupérer un nom de fichier sans extension
    Par OxN dans le forum Général Java
    Réponses: 13
    Dernier message: 01/08/2011, 16h13
  3. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  4. Récupérer le nom d'un fichier sans son extension
    Par Shoot dans le forum Langage
    Réponses: 5
    Dernier message: 09/04/2008, 09h32
  5. Réponses: 3
    Dernier message: 30/01/2006, 16h24

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