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 22/03/2008, à 21:34

Alpha-17

bash : modification a la chaine

bonjour a tous,

j'ai un prob : j'essaie de modifier des fichiers a la chaine grace a un script bash mais je ne vois pas comment faire. J'imagine qu'il faut faire une boucle 'for' ou 'while' ... mais apres ? En faite ce que je cherche a faire c'est modifier le nom de fichiers en fonction de leur a leur contenu et par consequent ca change pour chaque fichier.

Comment faire pour selectionner les fichiers un a un le plus simplement possible ?

J'ai essaye de faire qqch avec /mon_dossier/* mais ce n'est pas tres concluant.

merci d'avance pour les info.

Hors ligne

#2 Le 22/03/2008, à 21:51

best_friend_fr

Re : bash : modification a la chaine

Salut

Par exemple

si tu demarres le script par

script fichier1 fichier2...

tu peux faire

for f in $*;
do
echo $f;
done;

sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#3 Le 22/03/2008, à 22:15

Alpha-17

Re : bash : modification a la chaine

ouais ... le seul probleme c'est que ca serait pour plusieur millier de fichier donc ... mais merci quand meme. Je crois que je vais abandonner l'idee de ce script pour le moment.

Hors ligne

#4 Le 22/03/2008, à 22:22

Yannick_LM

Re : bash : modification a la chaine

Alpha-17 : tu veux le faire à la main ???

Sinon, oui, un simple boucle for, ça devrait aller.

Par exemple :

for f in * ;
do
   traite $f;
done

Marche pour tous les fichiers dans le répertoire courant, s'il faut le faire récursivement, tu peux faire avec find.

S'il faut manipuler les noms des fichiers, tu peux le faire avec des expressions régulières, etc...

Dis-nous en un peu plus sur ton problème.


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#5 Le 22/03/2008, à 22:28

plmegalo

Re : bash : modification a la chaine

Dans l'exemple suivant, les fichiers *.m3u se trouvant dans le répertoire courant sont passés l'un après l'autre en paramètre d'un script : en l'occurence il s'appelle WAVversUNIX.sh, mais ça pourrait être n'importe quel script de traitement du fichier dont le nom est passé en paramètre.

find -maxdepth 1 ! -type d -name '*.m3u' -exec ./WAVversUNIX.sh {} \;

[EDIT]Et du coup pas besoin de boucle "for" ![/EDIT]
Est-ce que ça répond à ce que tu cherches à faire ?

Dernière modification par plmegalo (Le 22/03/2008, à 22:31)

#6 Le 22/03/2008, à 22:31

best_friend_fr

Re : bash : modification a la chaine

au passagem tu pouvais appeler mon exemple par

script *


sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#7 Le 22/03/2008, à 23:23

Alpha-17

Re : bash : modification a la chaine

qd je parlais de "abandonner ce script" dans le 3eme poste, c'etait du miens que je parlais pas celui du 2eme poste.

Bon, plus precisement ce que je cherchais a faire c'etait ce que iTunes faisait qd j'etait encore sous XP, c'est-a-dire gerer l'ensemble de mes fichiers musicaux : classer mes fichiers d'apres leurs tags. Maintenant j'utilise amarok et malheureusement il ne le fait plus a ma place (sauf erreur de ma part), d'ou l'idee de ce script. (a part ca, je suis preneur si qqun connait un prog qui accompli l'operation que je souhaite d'iTunes sous linux). Je vais donc attendre de voir ce que donne la seconde version d'amarok afin de voir si elle n'offre pas cette possibilite ... sinon, je remediterais sur mon script.

merci encore

Hors ligne

#8 Le 23/03/2008, à 02:56

plmegalo

Re : bash : modification a la chaine

A priori, je serais tenté de dire que tu fais erreur justement...

Si tu met tes fichiers dans la collection et que tu choisis le menu "gestion des fichiers" par clique droit sur une entrée (album, artiste, que sais-je...:) ) de ladite collection, tu auras un beau dialogue qui te permettra de classer tes fichiers, de les renommer, de les modifier en fonction des tags etc...

Dans tous les cas, que ce soit par GUI ou par ligne de commande, c'est plutôt iTune qui est largué...
Donc cherche un peu, amuse-toi, essaye et tu pourras certainement faire tout ce que tu veux.

...et si un pti coup de pouce t'es nécessaire... tu peux toujours poser des questions précises dans le forum Multimédia aux nombreux utlisateurs d'Amarok.

Dernière modification par plmegalo (Le 23/03/2008, à 02:59)