Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1092 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  script bash + espace dans nom de fichier = help!!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script bash + espace dans nom de fichier = help!!!

n°115277
yank
Posté le 21-06-2002 à 09:59:14  profilanswer
 

slt tous, j ai entrepris d'écrire un script shell (bash) pour convertir mes mp3 en ogg mais je suis confronté à un problème qui a pour origine windaube : l utilisation d espace dans les noms de fichier :crazy:
 
j utilise la variable $* pour attribuer un nom de fichier ,situé dans un repertoire, à la variable $i.
 
La variable $i vas donc prendre pour valeur le nom du fichier qui est en faite un paramètre de ma commande et le problème sous *nix est ke un espace sert à séparer les paramètres.
 
je me retrouve donc avec une variable qui s appelle "02" au lieu de "02 Air - ..."  
ou "02\ Air - ..." !!!
 
k elle est l astuce SVP :cry:

mood
Publicité
Posté le 21-06-2002 à 09:59:14  profilanswer
 

n°115279
yank
Posté le 21-06-2002 à 10:07:22  profilanswer
 

En faite je récupère le nom du fichier passé en paramètre à l aide de la variable $1.
Le prob est ke ca ne marche pas avec les fichier ayant des espaces.

n°115280
Poltergeis​t
Posté le 21-06-2002 à 10:09:12  profilanswer
 

./mp3.sh  "le fichier avec  des espaces"    
 
et normalement $1 contiendra la bonne valeur


Message édité par Poltergeist le 21-06-2002 à 10:09:49

---------------
c'est etonnant comme on peut se passer de l'essentiel du moment qu'on a les petits plaisirs de la vie
n°115281
kuroineko
je mamgerais bien un truc la..
Posté le 21-06-2002 à 10:10:40  profilanswer
 

yank a écrit a écrit :

En faite je récupère le nom du fichier passé en paramètre à l aide de la variable $1.
Le prob est ke ca ne marche pas avec les fichier ayant des espaces.  




 
normal unix n'est pas fait pour gerer les noms avec des espaces, normallement il existe des trucs de converstion de nom de fichiers expres pour solutionner ça au pire retourne dans windaube et change le nom en remplaceant les " " par des "_".


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°115283
minusplus
Posté le 21-06-2002 à 10:12:16  profilanswer
 

ben renome tes fichiers :  
 


rename 's/ /_/g' *.mp3

n°115288
kuroineko
je mamgerais bien un truc la..
Posté le 21-06-2002 à 10:22:09  profilanswer
 

minusplus a écrit a écrit :

ben renome tes fichiers :  
 


rename 's/ /_/g' *.mp3

 




 
ça marche meme avec l'espace ça ? j'y avais pensé mais je doutais que l'espace soit pris en compte par le REN....
 
j'aurrai appris un truc


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°115289
Jak
Back to Slack !
Posté le 21-06-2002 à 10:26:27  profilanswer
 

minusplus a écrit a écrit :

ben renome tes fichiers :  
 


rename 's/ /_/g' *.mp3

 



'Marche pas ton truc. Et je comprends pas le man de rename ...
 
 
-- EDIT : Ah, si, ça y est, j'ai compris le man. Par contre, je vois pas le rapport avec ta commande. Je cherche ...


Message édité par Jak le 21-06-2002 à 10:30:33
n°115291
kuroineko
je mamgerais bien un truc la..
Posté le 21-06-2002 à 10:27:41  profilanswer
 

Jak a écrit a écrit :

'Marche pas ton truc. Et je comprends pas le man de rename ...  




 
quel message d'insulte l'ecran t'as envoyé ??
je me disais bien que les espaces marchaient pas....


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°115294
Jak
Back to Slack !
Posté le 21-06-2002 à 10:31:05  profilanswer
 

kuroineko a écrit a écrit :

 
 
quel message d'insulte l'ecran t'as envoyé ??
je me disais bien que les espaces marchaient pas....  



Justement, il n'envoie rigoureusement rien.
Par contre, je vois bien ce qu'il veut faire, et c'est pas con. 'doit y avoir un détail à la con qui manque.


Message édité par Jak le 21-06-2002 à 10:32:35
n°115295
yank
Posté le 21-06-2002 à 10:31:05  profilanswer
 

jak> idem mais j ai compris le man :)
 
poltergeist> bein merci à toi. Il a suffit ke je mette $* entre "" pour ke ca marche :)

mood
Publicité
Posté le 21-06-2002 à 10:31:05  profilanswer
 

n°115299
kuroineko
je mamgerais bien un truc la..
Posté le 21-06-2002 à 10:35:59  profilanswer
 

yank a écrit a écrit :

jak> idem mais j ai compris le man :)
 
poltergeist> bein merci à toi. Il a suffit ke je mette $* entre "" pour ke ca marche :)  




 
OK merci du tuyau :jap:


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°115306
yank
Posté le 21-06-2002 à 10:42:31  profilanswer
 

mince après vérification :  
 
./mp32ogg.sh *.mp3 ne marche pas avec la technique "$*"
 
je serais obligé de taper ./mp32ogg.sh "*.mp3" mais c est po grave :)

n°115307
Jar Jar
Intaigriste
Posté le 21-06-2002 à 10:42:50  profilanswer
 

kuroineko a écrit a écrit :

normal unix n'est pas fait pour gerer les noms avec des espaces, normallement il existe des trucs de converstion de nom de fichiers expres pour solutionner ça au pire retourne dans windaube et change le nom en remplaceant les " " par des "_".


MOUAHAHAHAHAHAHAHAHHAHAAAAAAAAAAAAAAAAAAAAAAAA !!!!!!!!!!!!!!!!!!!
 
Unix gère très bien les noms avec des espaces, et contrairement à d'autres systèmes, il les gère nativement, pas avec des extensions porcines sur un nom 8.3...


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
n°115308
Poltergeis​t
Posté le 21-06-2002 à 10:46:22  profilanswer
 

yank a écrit a écrit :

mince après vérification :  
 
./mp32ogg.sh *.mp3 ne marche pas avec la technique "$*"
 
je serais obligé de taper ./mp32ogg.sh "*.mp3" mais c est po grave :)  




 
pour avoir un listing de noms quotés  fait un ls -Q *.mp3 .


---------------
c'est etonnant comme on peut se passer de l'essentiel du moment qu'on a les petits plaisirs de la vie
n°115312
Poltergeis​t
Posté le 21-06-2002 à 10:50:07  profilanswer
 

./mp32ogg.sh $(ls -Q *.mp3)
 
et apres ya bien tout ce qu'il faut dans $*


Message édité par Poltergeist le 21-06-2002 à 10:50:51

---------------
c'est etonnant comme on peut se passer de l'essentiel du moment qu'on a les petits plaisirs de la vie
n°115329
arsunik
ma tuxitude me beastifie
Posté le 21-06-2002 à 11:17:00  profilanswer
 

C'est normal, il ne faut pas utiliser $* mais "$@"
Et ce de manière générale dans tous tes scripts.
Le problème vient surtout des gens qui ne savent pas faire des script et qui remplacent les espaces dans les noms de fichiers et non de windows:lol:
Il y a encore beaucoup de scripts/programmes qui ne fontionnent pas avec des fichiers dont le nom contient espaces...
 
Si les fichiers ne sont pas passés en argument, tu as d'autres solutions, par exemple :
ls -b
find /toto -print0 | xargs -0

n°115338
kuroineko
je mamgerais bien un truc la..
Posté le 21-06-2002 à 11:36:15  profilanswer
 

Jar Jar a écrit a écrit :

MOUAHAHAHAHAHAHAHAHHAHAAAAAAAAAAAAAAAAAAAAAAAA !!!!!!!!!!!!!!!!!!!
 
Unix gère très bien les noms avec des espaces, et contrairement à d'autres systèmes, il les gère nativement, pas avec des extensions porcines sur un nom 8.3...  




 
je me suis mal exprimé je voulais dire qu'il ne les gerait pas en ligne directe mais seulement entre "" et '' ...dézolé


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°115339
Jar Jar
Intaigriste
Posté le 21-06-2002 à 11:38:42  profilanswer
 

kuroineko a écrit a écrit :

je me suis mal exprimé je voulais dire qu'il ne les gerait pas en ligne directe mais seulement entre "" et '' ...dézolé


C'est uniquement un problème de shell, et encore il les gère très bien avec les \.
Si tu fais du C, ou n'importe quel autre langage, les espaces ne posent pas le moindre problème.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
n°115343
kuroineko
je mamgerais bien un truc la..
Posté le 21-06-2002 à 11:43:00  profilanswer
 

Jar Jar a écrit a écrit :

C'est uniquement un problème de shell, et encore il les gère très bien avec les \.
Si tu fais du C, ou n'importe quel autre langage, les espaces ne posent pas le moindre problème.  




 
 "\ " ? je connaissais meme pas... decidement faut que je revoye toutes ces petites syntaxes sympa et pratiques....


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°115387
Jar Jar
Intaigriste
Posté le 21-06-2002 à 12:44:58  profilanswer
 

kuroineko a écrit a écrit :

 "\ " ? je connaissais meme pas... decidement faut que je revoye toutes ces petites syntaxes sympa et pratiques....


Déjà, quand tu fais la complétion sur un nom avec un espace, il rajoute tout seul les "\ "...


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
n°115391
kuroineko
je mamgerais bien un truc la..
Posté le 21-06-2002 à 12:48:35  profilanswer
 

Jar Jar a écrit a écrit :

Déjà, quand tu fais la complétion sur un nom avec un espace, il rajoute tout seul les "\ "...  




 
moi j'ai tellement l'habitude de taper des noms avec _ que finalement la gestion des espaces je suis rarement concerné...
:lol: donc on fini par oublier un peu .... en plus là il est quand meme l'heure de dormir  :sleep: ce qui ne facilite pas la reflexion...


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°115450
minusplus
Posté le 21-06-2002 à 14:02:14  profilanswer
 

Jak a écrit a écrit :

Justement, il n'envoie rigoureusement rien.
Par contre, je vois bien ce qu'il veut faire, et c'est pas con. 'doit y avoir un détail à la con qui manque.  



:heink: ça marche trés bien ! :??:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  script bash + espace dans nom de fichier = help!!!

 

Sujets relatifs
[HELP] besoin d'aide pour choisir une distrib orienté server[Help !!!] Installation d'1 debian Woody sur une KT7-RAID
URGENT help needed FLTK QThelp client ftp linux...
Transferer des fichier snas FTP ??help .. ya lilo qui est mechant avec moi .....
[ Help ] - choix de version[edonkey] Comment mettre à jour le fichier server.met sous linux
Dans le fichier fstab, a quoi correspond LABEL ?Jar ? Unjar ? Help !!!
Plus de sujets relatifs à : script bash + espace dans nom de fichier = help!!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR