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

 


Dernière réponse
Sujet : script bash + espace dans nom de fichier = help!!!
minusplus

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 ! :??:


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
minusplus

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 ! :??:

kuroineko

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...

Jar Jar

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 "\ "...

kuroineko

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....

Jar Jar

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.

kuroineko

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é

arsunik 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
Poltergeist ./mp32ogg.sh $(ls -Q *.mp3)
 
et apres ya bien tout ce qu'il faut dans $*
Poltergeist

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 .

Jar Jar

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...

yank 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 :)
kuroineko

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:

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

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.

kuroineko

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....

Jak

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 ...

kuroineko

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

minusplus ben renome tes fichiers :  
 


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

kuroineko

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 "_".

Poltergeist ./mp3.sh  "le fichier avec  des espaces"    
 
et normalement $1 contiendra la bonne valeur
yank 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.
yank 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:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)