Script sh: basename + resultat de commande ls

Résolu
snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -  
snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

est-il possible de réaliser un basename sur le résultat d'une commande sans passer par une variable intermédiaire ?

VAC_tmp='ls home/moi/images/*vacances*.jpg'
VACANCES='basename $VAC_tmp'

en gros je voudrais pouvoir faire ça:
VACANCES=basename 'ls /home/moi/images/*vacances*.jpg'

mais je ne sais pas si c'est possible, j'ai essayé différente syntaxe de quote, double quote, accolade... mais n'est pas trouvé la bonne combinaison

3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    find ~/Images -maxdepth 1 -name "*vacances*.jpg" -printf '%f\n'
    1
  2. snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   139
     
    ok, merci pour les 2 réponses!
    entre temps j'ai trouvé une solution, mais qui n'est pas perenne...

    comme en fait ma recherche ne me donne qu'un seul retour ça fonctionnait
    mais le jour ou j'ai 2 photos *vacances* dans le même repertoire en effet ça allait bugger..

    VACANCES='basename \'/home/moi/images/*vacances*.jpg\''
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    basename n'accepte qu'un fichier, essayer
    VACANCES=$(cd /home/moi/images; ls *vacances*.jpg)
    -1