Salut,

Trouvé sur https://fr.linux-console.net/?p=16532 avec un « sed ». Plutôt en 
m’inspirant de la page.

 base_name="$(echo "${msg}" | sed -e 's/\(.*\)_//')"

Le modus operandi des expressions régulières est bien obscur…


> Le 1 sept. 2025 à 10:28, philippe L <[email protected]> a écrit :
> 
> Bonjour,
> 
> J'ai des noms de fichiers composé de plusieurs _ , je veux que le script 
> prennet en compte le dernier des _ et non le premier, que dois je modifier ?
> 
>  #!/bin/bash
> 
> # Répertoire de travail (le dossier où sont les images)
> WORKDIR="."
> cd "$WORKDIR"
> 
> # Boucle sur les fichiers images (jpg, png, etc.)
> for img in *.jpg *.jpeg *.png; do
>     # Vérifie si le fichier existe (évite les erreurs si aucun .jpg/.png)
>     [ -e "$img" ] || continue
> 
>     # Récupère le nom de la vidéo à partir du nom de l’image (avant le 
> premier "_")
>     base_name=$(echo "$img" | cut -d'_' -f1)
> 
>     # Crée le dossier si nécessaire
>     mkdir -p "$base_name"
> 
>     # Déplace l'image dans le bon dossier
>     mv "$img" "$base_name/"
> done
> 
> merci
> 
> -- 
> Ptilou

-- 
        M Pierre Malard


   «Mittler zwischen hirn und händen muss das hirz sein !»
   «La médiation entre le cerveau et les mains doit être le cœur !»
                                                 Fritz Lang - "Métropolis" - 
1929
   |\      _,,,---,,_
   /,`.-'`'    -.  ;-;;,_
  |,4-  ) )-,_. ,\ (  `'-'
 '---''(_/--'  `-'\_)   πr

perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-.  ;-;;,_:  |,A-  ) )-,_. ,\ 
(  `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"'  `-'"'"'\_): 
24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'




Répondre à