Script sh: basename + resultat de commande ls

Résolu/Fermé
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 27 nov. 2013 à 16:06
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 - 27 nov. 2013 à 16:26
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
A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
27 nov. 2013 à 16:20
Salut,

find ~/Images -maxdepth 1 -name "*vacances*.jpg" -printf '%f\n'
1
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 139
Modifié par snow_frog le 27/11/2013 à 16:30
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
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 27/11/2013 à 16:22
hello
basename n'accepte qu'un fichier, essayer
VACANCES=$(cd /home/moi/images; ls *vacances*.jpg)
-1