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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  probleme curieux avec un script [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme curieux avec un script [RESOLU]

n°225950
vimaster
i love vi editor it's the best
Posté le 19-02-2003 à 14:44:17  profilanswer
 

probleme curieux sur un script
 

#!/bin/bash
ls *zip | cat -n | more
echo -n "JEUX ? "
read N
J=`ls | cat -n | grep $N | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8" "$9}'`
./snes9x -nojoy "$J"
exit $?


 
le script reponds  
 

cannot open : D Zone.zip


 
aussitot je fais un copier coller de la ligne du script  
dans la meme console aussitot apres  
 

./snes9x -nojoy "$J"


 
et la ça marche  
 
alors pourquoi cette meme commande ne fonctionne pas a l'interieur du script ????????
 
pour les noms sans espaces ca marche nickel mais justement le but du script est de pas taper les noms de fichier mais au pire 3 chiffres de leur numero
 
vous avez une idée ???


Message édité par vimaster le 20-02-2003 à 08:16:48

---------------
I love vi editor. it's the best one.
mood
Publicité
Posté le 19-02-2003 à 14:44:17  profilanswer
 

n°226123
kuroineko
je mamgerais bien un truc la..
Posté le 19-02-2003 à 20:23:41  profilanswer
 

comprend pas,  
ta syntaxe est ok
j'aurrai surement fait qlque chose de similaire....
 
c'est d'autant plus bizare que si tu copy/paste la ligne de commande finale ca marche.....
 
mystere ....
 
voila un cas d'ecole auquel s'atteler...
developpeurs shells le defis est a relever....trouver pk ca merde


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°226157
Profil sup​primé
Posté le 19-02-2003 à 21:10:23  answer
 

fé un echo de tte ta commande comme ceci :
echo "./snes9x -nojoy $J"
pour voir la commande kil compte t'exécuter...

n°226190
kuroineko
je mamgerais bien un truc la..
Posté le 19-02-2003 à 21:46:23  profilanswer
 

Le Sot Zi a écrit :

fé un echo de tte ta commande comme ceci :
echo "./snes9x -nojoy $J"
pour voir la commande kil compte t'exécuter...


 
./snes9x -nojoy ../Zen Nihon Pro Wrestling (J).zip
 
ca donne ca..normal que ca marche pas a cause des espaces
 
par contre avec les "" autour de $J ca donne
./snes9x -nojoy "../Zen Nihon Pro Wrestling (J).zip"
 
donc pas de problemes d'espaces....


Message édité par kuroineko le 19-02-2003 à 21:48:45

---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°226195
kuroineko
je mamgerais bien un truc la..
Posté le 19-02-2003 à 21:59:36  profilanswer
 


Error opening: /home/kneko/stockage/divers/"Zen Nihon Pro Wrestling (J).zip   "
kneko@linux:~/stockage/divers/snes9x-1.39.orig> more ./JEUX
#!/bin/sh
ls ../*zip | cat -n
echo -n "Quel jeu ? "
read JEU
cd ..
J=`ls *zip | cat -n | grep $JEU`
J=`echo $J | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8" "$9}'`
./snes9x-1.39.orig/snes9x -nojoy /home/kneko/stockage/divers/\""$J"\"
exit 0
kneko@linux:~/stockage/divers/snes9x-1.39.orig>


 
bon en inserant les " de force avant et apres $J

on voit dans le message d'erreur que le nom pris en charge integre des espaces fantomes apres le dernier caractere du nom de fichier si le nom de fichier ne remplit pas le AWK soit 8 elements dans le noms.....
 
c'est ca qui merde...
 
mais alors comment faire pour lui faire selectioner que les X mots existant selon le nom de fichier ?

y'a des fichiers sans espaces
d'autres de 2, 3, 4, 5 jusqu'a 8 mots....


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°226199
Profil sup​primé
Posté le 19-02-2003 à 22:03:22  answer
 

kuroineko a écrit :


 
./snes9x -nojoy ../Zen Nihon Pro Wrestling (J).zip
 
ca donne ca..normal que ca marche pas a cause des espaces
 
par contre avec les "" autour de $J ca donne
./snes9x -nojoy "../Zen Nihon Pro Wrestling (J).zip"
 
donc pas de problemes d'espaces....
 

Magnifique ce (J) !!! je parie ke ça vient de là !!!

n°226208
kuroineko
je mamgerais bien un truc la..
Posté le 19-02-2003 à 22:08:53  profilanswer
 

Le Sot Zi a écrit :

Magnifique ce (J) !!! je parie ke ça vient de là !!!


 
non ca c'est juste pour dire VO  version Japonaise si tu preferes
 
et les parentheses posent pas probleme puisque le nom de fichier est entre "" donc inutile de genere \( ou \) pour less parentheses.
 
en plus le probleme est le meme sur les nom de fichiers qui ne mentionnenet pas de version ni (J) ni (E) ni (U)...
 
par exemple aero fighter.zip


Message édité par kuroineko le 19-02-2003 à 22:10:37

---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°226260
unk00
Posté le 20-02-2003 à 00:22:23  profilanswer
 

En remplaçant J= par :
J=`ls *.zip | cat -n | sed 's/^\ *//' | grep "^$N" | head -1 | sed 's/^[0-9]*//' | cut -b 2- `
 ça ne va pas mieux ?
 
 Enfin, j'aime pas trop le 'cat -n' qui renvoie une tabulation ici (je ne sais pas si c'est tout le temps vrai.) Le 'head -1' permet de ne renvoyer qu'un seul résultat. $N doit être le numéro de la ligne et pas un nom de fichier, sinon ça ne marche plus
 
 V'là, c'est une piste...
 
<fainéant> Une autre idée : remplacer les espaces dans les noms de fichiers par un '_' (par exemple) ?  </fainéant>


Message édité par unk00 le 20-02-2003 à 00:25:26
n°226279
kuroineko
je mamgerais bien un truc la..
Posté le 20-02-2003 à 07:02:01  profilanswer
 

unk00 a écrit :

En remplaçant J= par :
J=`ls *.zip | cat -n | sed 's/^\ *//' | grep "^$N" | head -1 | sed 's/^[0-9]*//' | cut -b 2- `
 ça ne va pas mieux ?
 
 Enfin, j'aime pas trop le 'cat -n' qui renvoie une tabulation ici (je ne sais pas si c'est tout le temps vrai.) Le 'head -1' permet de ne renvoyer qu'un seul résultat. $N doit être le numéro de la ligne et pas un nom de fichier, sinon ça ne marche plus
 
 V'là, c'est une piste...
 
<fainéant> Une autre idée : remplacer les espaces dans les noms de fichiers par un '_' (par exemple) ?  </fainéant>


 
Merci c'est cool avec sed ca marche...


#!/bin/sh
ls ../*zip | cat -n
echo -n "Quel jeu ? "
read JEU
cd ..
J=`ls *.zip | cat -n | sed 's/^\ *//' | grep "^$JEU" | head -1 | sed 's/^[0-9]*//' | cut -b 2- `
/home/kneko/stockage/divers/snes9x-1.39.orig/snes9x -nojoy /home/kneko/stockage/divers/"$J"
exit 0


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
n°226280
vimaster
i love vi editor it&#039;s the best
Posté le 20-02-2003 à 08:16:28  profilanswer
 

Bon ben j'ai plus qu'a faire pareil ....mettre un SED
 
Merci  :jap:  :jap:


---------------
I love vi editor. it's the best one.

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

  probleme curieux avec un script [RESOLU]

 

Sujets relatifs
Red Hat 8.0 - Problème d'installationp'tit problème avec le plugin java pour mozilla
probleme de locale et de font[Debian Sarge]Problème d'installation d'openoffice
[MDK] Problème avec le document root de mon apacheModem compatible Hayes +Linux= problème
Problème d'execution d'emacs[ Polices de Caractères ] Problème de locales/polices avec mozilla
Problème de son sous MDK 9.0probleme avec mon serveur sme
Plus de sujets relatifs à : probleme curieux avec un script [RESOLU]


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