Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/03/2017, à 23:02

OrkaEdison

fichier commençant par -- donne une erreur.

Bonjour,

j'ai un problème pour trier mes fichier, j'ai une suite de fichiers qui commence par -- dû à une erreur de manipulation.
Je n'arrive pas à le faire passer en caractère, le shell prend les -- comme une demande d'option, même avec \-\-

j'essaie d'utiliser ce script trouvé ici pour renommer en masse :

#!/bin/bash
nom="name-erro"
let "indice=1"
for fichier in \-\-*.mp3
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$nom-$indice.$extension"
            mv "$fichier" "$nom-"`printf "%02d" $indice`".$extension"
            let "indice+=1"
        fi
done

comment je peux faire pour rattraper les problème ??

cdlt,
Orka.

Hors ligne

#2 Le 23/03/2017, à 23:11

abelthorne

Re : fichier commençant par -- donne une erreur.

Je ne saurais pas dire pour la syntaxe mais si le problème est juste de les renommer en masse, tu peux essayer un soft comme pyrenamer, au moins pour supprimer le "--".

Hors ligne

#3 Le 23/03/2017, à 23:12

Watael

Re : fichier commençant par -- donne une erreur.

salut,

ce serait bien qu'on ait les messages d'erreur.

$ touch -- --{a..k}
$ for i in --*; do echo "$i"; done
--a
--b
--c
--d
--e
--f
--g
--h
--i
--j
--k

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 24/03/2017, à 01:09

MicP

Re : fichier commençant par -- donne une erreur.

Bonjour

Ce serait bien aussi d'avoir un (ou plusieurs) exemple nom de fichier à renommer (qui commence par --)
et le même nom de fichier tel que tu voudrais le voir une fois renommé.

Pour l'instant et vu l'essai de script,
j'ai l'impression qu'il s'agit de fichiers
dont le nom débute par --
et dont le nom d'extension .mp3

et que tu voudrais voir renommés en
name-erro-1.mp3 pour le premier trouvé,
name-erro-2.mp3 pour le second trouvé,
etc.

Dernière modification par MicP (Le 24/03/2017, à 01:22)

Hors ligne

#5 Le 24/03/2017, à 02:10

soshy

Re : fichier commençant par -- donne une erreur.

Salut,
essaye avec

mv -- "$fichier" "$nom-"`printf "%02d" $indice`".$extension"

ça permet de dire que tout ce qui suit le -- n'est pas une option.

Ceci fonctionne bien par exemple :

xxx@xxx-desktop:/tmp/test$ ls
--a
xxx@xxx-desktop:/tmp/test$ mv -- --a a
xxx@xxx-desktop:/tmp/test$ ls
a
xxx@xxx-desktop:/tmp/test$

Dernière modification par soshy (Le 24/03/2017, à 02:14)

Hors ligne

#6 Le 24/03/2017, à 15:07

OrkaEdison

Re : fichier commençant par -- donne une erreur.

salut,

merci soshy, ça marche nickel smile

voici le code complet :

#!/bin/bash
nom="name-error"
let "indice=1"
for fichier in --*.mp3
do
         if [ -f "$fichier" ]; then
            extension=${fichier##*.}
            echo "$fichier" "=>" "$nom-$indice.$extension"
            mv -- "$fichier" "$nom-"`printf "%02d" $indice`".$extension"
#	    mv "$fichier" "$nom-"`printf "%02d" $indice`".$extension"
            let "indice+=1"
        fi
done

petite suggestion, un colorisation syntaxique sur la fonction "\[code\[/code\]" ne serai pas une mauvaise idée.

ensuite, lors de mes connexion, j'ai firefox qui me dit que mes login/pass sont envoyé en claire... ?
à mon avis c'est pas gégé.

en tous cas merci,
Orka Edison.

Hors ligne