Dans un script, je veux renommer des fichiers avec le nom donné par
l'utilisateur.
Donc je stocke la variable dans $ArtisteAnnee, et ma boucle est:
for fichier in track*
do
NouveauNom=`echo $fichier | sed -e 's/track/ArtisteAnnee/'`
echo -n " Nouveau nom '"$NouveauNom"'. OK ? [O,n]"
TestReponse
done
Et les lignes suivantes s'affiche au fur et à mesure que la boucle
s'exécute:
Nouveau nom 'ArtisteAnnee01.cdda.mp3'. OK ? [O,n]
Nouveau nom 'ArtisteAnnee02.cdda.mp3'. OK ? [O,n]
...
J'ai bien sûr essayé à peu près tout ce que je pouvais mais ça veut pas,
le mieux que j'ai obtenu, c'est d'avoir la variable NouveauNom égale à
ArtisteAnnee en encadrant $ArtisteAnnee par des AltGr-7, mais avec 4
lignes d'insultes par tour dans la boucle (et la fin du nom du fichier
avait disparu).
Bref, je suis un peu coincé et Linux in a Nutshell est toujours aussi
abscons, quand au Système Linux il ne fait référence qu'une fois à sed.
Donc Help Wanted...
Un dernier truc:
La commande, "find / -name "track*" -print 2>/dev/null" marche dans un
xterm, mais ne fonctionne pas dans mon script.
Elle ne sort qu'une ligne, sur le premier fichier qu'elle trouve en me
disant "Permission non accordée" et pourtant je suis rw sur ce fichier
et rwx sur le répertoire le contenant.
Je reconnais que après 6 ans de Linux je ne comprends pas trop comment
marche find (et c'est pas faute d'essayer de comprendre sa page de man
et les exemples d'utilsation que je lis sur le ng)
Merci de toute aide
--
/(_M_)\ .------------------------------. /(_M_)\
| | ( POWERED BY Alain KRIVINE/LINUX ) | |
\/~V~\/ `------------------------------' \/~V~\/
-+- DB in Guide du linuxien pervers - "Mieux que la SLS : la LCR !"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Chazelas
2004-01-18, 04:17(+01), Hugolino:
Dans un script, je veux renommer des fichiers avec le nom donné par l'utilisateur.
En bash/ksh93/zsh:
NouveauNom=${fichier/track/"$ArtisteAnnee"}
[...]
Bref, je suis un peu coincé et Linux in a Nutshell est toujours aussi abscons, quand au Système Linux il ne fait référence qu'une fois à sed.
Le problème, si tu fais:
NouveauNom=$(printf '%sn' "$fichier" | sed "s/track/$ArtisteAnnee/")
C'est que ça va foirer si $ArtisteAnnee contient des caractères spéciaux pour "sed" (, & ou / ici).
[...]
La commande, "find / -name "track*" -print 2>/dev/null" marche dans un xterm, mais ne fonctionne pas dans mon script. Elle ne sort qu'une ligne, sur le premier fichier qu'elle trouve en me disant "Permission non accordée" et pourtant je suis rw sur ce fichier et rwx sur le répertoire le contenant.
T'es sûr que tu n'as pas écrit:
`find / -name "track*" -print 2>/dev/null`
(avec des backquotes indiquant au shell que l'output de find doit être pris comme une ligne de commande à exécuter) ?
Note que pour des renommages, tu devrais plutôt utiliser "mmv", ou le zmv de zsh.
Dans un script, je veux renommer des fichiers avec le nom donné par
l'utilisateur.
En bash/ksh93/zsh:
NouveauNom=${fichier/track/"$ArtisteAnnee"}
[...]
Bref, je suis un peu coincé et Linux in a Nutshell est toujours aussi
abscons, quand au Système Linux il ne fait référence qu'une fois à sed.
Le problème, si tu fais:
NouveauNom=$(printf '%sn' "$fichier" |
sed "s/track/$ArtisteAnnee/")
C'est que ça va foirer si $ArtisteAnnee contient des caractères
spéciaux pour "sed" (, & ou / ici).
[...]
La commande, "find / -name "track*" -print 2>/dev/null" marche dans un
xterm, mais ne fonctionne pas dans mon script.
Elle ne sort qu'une ligne, sur le premier fichier qu'elle trouve en me
disant "Permission non accordée" et pourtant je suis rw sur ce fichier
et rwx sur le répertoire le contenant.
T'es sûr que tu n'as pas écrit:
`find / -name "track*" -print 2>/dev/null`
(avec des backquotes indiquant au shell que l'output de find
doit être pris comme une ligne de commande à exécuter) ?
Note que pour des renommages, tu devrais plutôt utiliser "mmv",
ou le zmv de zsh.
Dans un script, je veux renommer des fichiers avec le nom donné par l'utilisateur.
En bash/ksh93/zsh:
NouveauNom=${fichier/track/"$ArtisteAnnee"}
[...]
Bref, je suis un peu coincé et Linux in a Nutshell est toujours aussi abscons, quand au Système Linux il ne fait référence qu'une fois à sed.
Le problème, si tu fais:
NouveauNom=$(printf '%sn' "$fichier" | sed "s/track/$ArtisteAnnee/")
C'est que ça va foirer si $ArtisteAnnee contient des caractères spéciaux pour "sed" (, & ou / ici).
[...]
La commande, "find / -name "track*" -print 2>/dev/null" marche dans un xterm, mais ne fonctionne pas dans mon script. Elle ne sort qu'une ligne, sur le premier fichier qu'elle trouve en me disant "Permission non accordée" et pourtant je suis rw sur ce fichier et rwx sur le répertoire le contenant.
T'es sûr que tu n'as pas écrit:
`find / -name "track*" -print 2>/dev/null`
(avec des backquotes indiquant au shell que l'output de find doit être pris comme une ligne de commande à exécuter) ?
Note que pour des renommages, tu devrais plutôt utiliser "mmv", ou le zmv de zsh.
Le Sun, 18 Jan 2004 18:54:14 +0100, Stephane Chazelas a écrit:
2004-01-18, 04:17(+01), Hugolino:
Dans un script, je veux renommer des fichiers avec le nom donné par l'utilisateur.
En bash/ksh93/zsh:
NouveauNom=${fichier/track/"$ArtisteAnnee"}
Oui, c'est dans la section "Remplacement des paramètres" de la page de man de bash. Mais j'avoue que je ne l'avais pas comprise avant que tu me montres que c'est simple à utiliser.
[...]
Bref, je suis un peu coincé et Linux in a Nutshell est toujours aussi abscons, quand au Système Linux il ne fait référence qu'une fois à sed.
Le problème, si tu fais:
NouveauNom=$(printf '%sn' "$fichier" | sed "s/track/$ArtisteAnnee/")
C'est que ça va foirer si $ArtisteAnnee contient des caractères spéciaux pour "sed" (, & ou / ici).
T'es sûr que tu n'as pas écrit:
`find / -name "track*" -print 2>/dev/null`
Si tu as raison. Mea culpa.
(avec des backquotes indiquant au shell que l'output de find doit être pris comme une ligne de commande à exécuter) ?
Oui, quel idiot !
Note que pour des renommages, tu devrais plutôt utiliser "mmv", ou le zmv de zsh.
Ah ? Quel interêt ? Et dans quel package trouver mmv ?
Merci encore de ton aide.
-- Hugo NPN (i --> ee)
Sinon, à propos d'afterstep et de window maker : quand je déplace une fenetre, en plus de la neige sur le moniteur, j'ai du crachin dans les haut parleurs... -+- hcl in GLP "y'a plus de saison j'vous dis" -+-
Le Sun, 18 Jan 2004 18:54:14 +0100, Stephane Chazelas a écrit:
2004-01-18, 04:17(+01), Hugolino:
Dans un script, je veux renommer des fichiers avec le nom donné par
l'utilisateur.
En bash/ksh93/zsh:
NouveauNom=${fichier/track/"$ArtisteAnnee"}
Oui, c'est dans la section "Remplacement des paramètres" de la page de
man de bash.
Mais j'avoue que je ne l'avais pas comprise avant que tu me montres que
c'est simple à utiliser.
[...]
Bref, je suis un peu coincé et Linux in a Nutshell est toujours aussi
abscons, quand au Système Linux il ne fait référence qu'une fois à sed.
Le problème, si tu fais:
NouveauNom=$(printf '%sn' "$fichier" |
sed "s/track/$ArtisteAnnee/")
C'est que ça va foirer si $ArtisteAnnee contient des caractères
spéciaux pour "sed" (, & ou / ici).
T'es sûr que tu n'as pas écrit:
`find / -name "track*" -print 2>/dev/null`
Si tu as raison. Mea culpa.
(avec des backquotes indiquant au shell que l'output de find
doit être pris comme une ligne de commande à exécuter) ?
Oui, quel idiot !
Note que pour des renommages, tu devrais plutôt utiliser "mmv",
ou le zmv de zsh.
Ah ? Quel interêt ? Et dans quel package trouver mmv ?
Merci encore de ton aide.
--
Hugo NPN (i --> ee)
Sinon, à propos d'afterstep et de window maker : quand je déplace une
fenetre, en plus de la neige sur le moniteur, j'ai du crachin dans les
haut parleurs... -+- hcl in GLP "y'a plus de saison j'vous dis" -+-
Le Sun, 18 Jan 2004 18:54:14 +0100, Stephane Chazelas a écrit:
2004-01-18, 04:17(+01), Hugolino:
Dans un script, je veux renommer des fichiers avec le nom donné par l'utilisateur.
En bash/ksh93/zsh:
NouveauNom=${fichier/track/"$ArtisteAnnee"}
Oui, c'est dans la section "Remplacement des paramètres" de la page de man de bash. Mais j'avoue que je ne l'avais pas comprise avant que tu me montres que c'est simple à utiliser.
[...]
Bref, je suis un peu coincé et Linux in a Nutshell est toujours aussi abscons, quand au Système Linux il ne fait référence qu'une fois à sed.
Le problème, si tu fais:
NouveauNom=$(printf '%sn' "$fichier" | sed "s/track/$ArtisteAnnee/")
C'est que ça va foirer si $ArtisteAnnee contient des caractères spéciaux pour "sed" (, & ou / ici).
T'es sûr que tu n'as pas écrit:
`find / -name "track*" -print 2>/dev/null`
Si tu as raison. Mea culpa.
(avec des backquotes indiquant au shell que l'output de find doit être pris comme une ligne de commande à exécuter) ?
Oui, quel idiot !
Note que pour des renommages, tu devrais plutôt utiliser "mmv", ou le zmv de zsh.
Ah ? Quel interêt ? Et dans quel package trouver mmv ?
Merci encore de ton aide.
-- Hugo NPN (i --> ee)
Sinon, à propos d'afterstep et de window maker : quand je déplace une fenetre, en plus de la neige sur le moniteur, j'ai du crachin dans les haut parleurs... -+- hcl in GLP "y'a plus de saison j'vous dis" -+-
Stephane Chazelas
2004-01-20, 16:31(+01), Hugolino: [...]
Note que pour des renommages, tu devrais plutôt utiliser "mmv", ou le zmv de zsh.
Ah ? Quel interêt ? Et dans quel package trouver mmv ? [...]
Bein, c'est fait pour ça, ça gère les cas litigieux... Note que zmv est beaucoup plus puissant que mmv.
mmv est un outil "standalone" vieux comme le monde (donc, éprouvé), donc tu devrais le trouver dans un package "mmv", je m'étonne que tu ne l'aies pas déjà sur ton système, d'ailleurs. Y a aussi son ancètre "ren", du même auteur.
Note que pour des renommages, tu devrais plutôt utiliser "mmv",
ou le zmv de zsh.
Ah ? Quel interêt ? Et dans quel package trouver mmv ?
[...]
Bein, c'est fait pour ça, ça gère les cas litigieux... Note que
zmv est beaucoup plus puissant que mmv.
mmv est un outil "standalone" vieux comme le monde (donc,
éprouvé), donc tu devrais le trouver dans un package "mmv", je
m'étonne que tu ne l'aies pas déjà sur ton système, d'ailleurs.
Y a aussi son ancètre "ren", du même auteur.
Note que pour des renommages, tu devrais plutôt utiliser "mmv", ou le zmv de zsh.
Ah ? Quel interêt ? Et dans quel package trouver mmv ? [...]
Bein, c'est fait pour ça, ça gère les cas litigieux... Note que zmv est beaucoup plus puissant que mmv.
mmv est un outil "standalone" vieux comme le monde (donc, éprouvé), donc tu devrais le trouver dans un package "mmv", je m'étonne que tu ne l'aies pas déjà sur ton système, d'ailleurs. Y a aussi son ancètre "ren", du même auteur.
Bonjour, desole si c'est pas le bon forum, mais j'ai pas trouve plus approprie, les gens de fr.lang.c criant des qu'on est os dependant...
je cherche comant recupere le nom de l'utilisateur (who i am) dans un programme c. (pour l'instant de je fait system("who i am >tmp") puis je relis tmp mais c'est vraiment crado...
OP.
Bonjour,
desole si c'est pas le bon forum, mais j'ai pas trouve plus approprie,
les gens de fr.lang.c criant des qu'on est os dependant...
je cherche comant recupere le nom de l'utilisateur (who i am)
dans un programme c. (pour l'instant de je fait system("who i am >tmp")
puis je relis tmp mais c'est vraiment crado...
Bonjour, desole si c'est pas le bon forum, mais j'ai pas trouve plus approprie, les gens de fr.lang.c criant des qu'on est os dependant...
je cherche comant recupere le nom de l'utilisateur (who i am) dans un programme c. (pour l'instant de je fait system("who i am >tmp") puis je relis tmp mais c'est vraiment crado...
OP.
Jean-Marc Bourguet
"@(none)" <""olivier"@(none)"> writes:
desole si c'est pas le bon forum, mais j'ai pas trouve plus approprie, les gens de fr.lang.c criant des qu'on est os dependant...
Non sans raison. Ce groupe est tout a fait approprie pour ce genre de questions.
je cherche comant recupere le nom de l'utilisateur (who i am) dans un programme c. (pour l'instant de je fait system("who i am >tmp") puis je relis tmp mais c'est vraiment crado...
man getpwuid man getuid
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
"@(none)" <""olivier"@(none)"> writes:
desole si c'est pas le bon forum, mais j'ai pas trouve plus
approprie, les gens de fr.lang.c criant des qu'on est os
dependant...
Non sans raison. Ce groupe est tout a fait approprie pour ce genre de
questions.
je cherche comant recupere le nom de l'utilisateur (who i am)
dans un programme c. (pour l'instant de je fait system("who i am >tmp")
puis je relis tmp mais c'est vraiment crado...
man getpwuid
man getuid
A+
--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
desole si c'est pas le bon forum, mais j'ai pas trouve plus approprie, les gens de fr.lang.c criant des qu'on est os dependant...
Non sans raison. Ce groupe est tout a fait approprie pour ce genre de questions.
je cherche comant recupere le nom de l'utilisateur (who i am) dans un programme c. (pour l'instant de je fait system("who i am >tmp") puis je relis tmp mais c'est vraiment crado...
man getpwuid man getuid
A+
-- Jean-Marc Site de usenet-fr: http://www.usenet-fr.news.eu.org
Laurent Wacrenier
@(none) <> écrit:
je cherche comant recupere le nom de l'utilisateur (who i am) dans un programme c.
man getlogin
@(none) <> écrit:
je cherche comant recupere le nom de l'utilisateur (who i am)
dans un programme c.