#1101 Le 10/08/2010, à 21:20
- jtho
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Facile...Je ne suis pas demeuré mais juste débutant!
Quelqu'un de charitable peut-il me donner un p'tit coup de main sans
que j'ai besoin de tout retaper? (message#1101)
MERCI.....
Dernière modification par jtho (Le 11/08/2010, à 00:35)
Hors ligne
#1102 Le 10/08/2010, à 21:41
- Compte supprimé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Je viens ici pour demander de l'aide concernant la création et l'execution de script.
Tout d'abord, j'ai un petit script bash qui me dit le nom du fichier qui est sélectionné. Je l'ai placé dans nautilus-script et je lui est attribué un raccourci Alt+F12 via préférence >raccourcis clavier.
Voici le script en question:
#!/bin/bash
# PLACE=`echo ${0##*/}`
PLACE=`echo $(basename "$1")`
VOIX=/opt/mbrola/fr4/fr4
TYPE=mb/mb-fr4
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
kill $(ps -A | grep mbrola | awk '{ print $1 }' ) && sleep 2
fi
espeak -v $TYPE -s 160 -p 40 "$PLACE" | mbrola $VOIX - -.au | aplay
Quand, j'essaye de mettre en application ce script cela ne fonctionne pas, aucun son n'est produit par contre quand je fais clic droit puis scripts et enfin que je sélectionne ce script alors là pas de problème le script s'exécute et me dit le nom du fichier sur lequel je me trouve.
Je ne sais pas d'où viens le problème.
Deuxième petite question: Je voudrais savoir si cela est possible (je suis novice) d'exécuter un tel script durant toute la durée de la session et de faire en sorte qu'il s'exécute automatiquement pour chaque fichier sélectionné.
Dernière modification par benoitfra (Le 12/08/2010, à 23:40)
#1103 Le 10/08/2010, à 21:45
- josepe36
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
bonsoir
pouvez vous m'expliquer ce que "<<<" fait dans le script plus haut s'il vous plait ?
#1104 Le 10/08/2010, à 21:51
- Compte supprimé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Est-ce mon script que vous évoquez josepe36?
#1105 Le 10/08/2010, à 21:54
- josepe36
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
oui tout à fait, je script toujours avec beaucoup de plaisir et autant de curiosité et j'ai déjas rencontré à plusieurs lectures ce renvoie inversé sans en comprendre le sens.
#1106 Le 10/08/2010, à 21:58
- Compte supprimé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Je ne vois pas à quel ligne il se trouve (je n'ai pas <<<)?
Dernière modification par benoitfra (Le 10/08/2010, à 21:59)
#1107 Le 10/08/2010, à 21:59
- Fenouille84
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Je ne vois mm pas à quel ligne il se trouve désolé (je n'ai pas <<<)?
+1 !
Je ne le vois pas non plus...
Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --
Hors ligne
#1108 Le 10/08/2010, à 22:02
- Compte supprimé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
À la page d'avant, il y en a plein
#1109 Le 10/08/2010, à 22:05
- josepe36
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
désolé ce n'était pas le votre, voici de quoi je parle
message n°1083 par exemple
#1110 Le 10/08/2010, à 22:08
- Fenouille84
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Sa redirige l'entrée du flux et permet d'économiser des commandes.
Par exemple, voici 2 lignes qui ont le même effet :
echo "bla;bli;blu" | cut -d ';' -f2
cut -d ';' -f2 <<< "bla;bli;blu"
Ainsi, même si le résultat est le même, la 2° ligne est plus économique en commande.
Sa fonctionne pareil avec les fichiers (compter le nombre de lignes par exemple) :
cat $HOME/fichier.txt | wc -l
wc -l < $HOME/fichier.txt
Là encore, la 2° ligne te permet de gagner une commande.
Enfin, je pense (mais sans aucune certitude !!) que :
< c'est pour l'entrée de fichier
<<< c'est pour l'entrée de texte
Dernière modification par Fenouille84 (Le 10/08/2010, à 22:09)
Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --
Hors ligne
#1111 Le 10/08/2010, à 22:13
- josepe36
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
merci fenouille84
l'explication est trés claire et j'en comprend le sens.
En revanche que fait "-f2" si ce n'est pas trop vous demander ?
#1112 Le 10/08/2010, à 22:14
- josepe36
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
bon j'ai fait l'enfant sur ma question précedente j'ai compris en faaisant le test dans mon terminal.
merci beaucoup pour cette petite leçon.
cordialement
ps: je m'abonne
#1113 Le 12/08/2010, à 19:04
- lesauc
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour,
2 petites demandes de script :
1° Virer tous les accents des noms de fichiers contenus dans ensemble de sous-répertoires
2° Un script permettent de generer une page html qui liste les fichiers contenus dans un ensemble de sous-répertoires, en incluant les liens vers ces fichiers .
Bon ben voilà !
Merci de vos réponses !
Depuis Ubuntu 11.04
Espérez le meilleur, envisagez le pire, et prenez ce qui vient !
Hors ligne
#1114 Le 12/08/2010, à 20:37
- Fenouille84
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour,
2 petites demandes de script :
1° Virer tous les accents des noms de fichiers contenus dans ensemble de sous-répertoires
2° Un script permettent de generer une page html qui liste les fichiers contenus dans un ensemble de sous-répertoires, en incluant les liens vers ces fichiers .Bon ben voilà !
Merci de vos réponses !
Pour le 1°, voici une piste : rename. Il utilise la même syntaxe que sed, donc tu n'auras aucun mal à trouver de la doc.
Aller, je suis bon prince : un petit indice.
Bon courage
Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --
Hors ligne
#1115 Le 12/08/2010, à 20:52
- Compte supprimé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
J'ai besoin d'un petit peu d'aide pour un script shell.
Plus haut, j'ai posté un script que je voulais lancé automatiquement, vu que je ne savais pas comment faire
j'ai décidé de changer de méthode .
Tout d'abord, je vais vous expliquer en quoi consiste le script.
Je suis malvoyant mais je ne parviens pas à faire marcher Mbrola et Orca ensemble (j'ai suivi des tutos mais cela ne marche pas).
J'ai donc décidé de créer un script shell qui me dit le nom du fichier/dossier sur lequel je me trouve.
Pour l'instant, je suis obligé de le lancer par un raccourci.
Voici ce que j'aimerai mettre en place :
je selectionnne un fichier "toto.txt" , dont on attribue le nom à la variable A
le script me lit toto.txt
Ensuite je change d'élément au clavier, je passe sur tutu.txt, dont le nom est attribué à la variable B.
(pour que le script soit encore actif,pendant le changement d'élément, j'introduis une commande sleep)
Ensuite, on utilise une boucle if compare A et B
si A différent de B alors on lui fait lire tutu.txt.
sinon on arrete
#!/bin/bash
# PLACE=`echo ${0##*/}`
###### définition du premier élément à lire ######
A1=`echo $(basename "$1")`
###### définition du type de voix à utiliser ######
VOIX=/opt/mbrola/fr4/fr4
TYPE=mb/mb-fr4
###### test pour savoir si la lecture est en cours ######
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
kill $(ps -A | grep mbrola | awk '{ print $1 }' ) && sleep 2
fi
###### lecture du nom du premier élément ######
espeak -v $TYPE -s 160 -p 40 "$A1" | mbrola $VOIX - -.au | aplay
###### pose pour changer d'élément ######
sleep 2
###### définition du second élément à lire ######
A2=`echo $(basename "$1")`
###### mise en place de la boucle if ######
if [ "$A1" = "$A2" ] then exit
else
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
kill $(ps -A | grep mbrola | awk '{ print $1 }' ) && sleep 2
fi
espeak -v $TYPE -s 160 -p 40 "$A2" | mbrola $VOIX - -.au | aplay
fi
done
Je n'arrive pas à mettre en place le script et je me demande si le script en question va prendre en compte le changement d'élément.
Peut être serait-il mieux d'utiliser un second script?
Dernière modification par benoitfra (Le 12/08/2010, à 23:41)
#1116 Le 12/08/2010, à 21:05
- wido
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour,
@benoitfra,
c'est normal que tu n'y arrives pas tu attributs deux fois la même variable:
A1=`echo $(basename "$1")`
A2=`echo $(basename "$1")`
c'est exactement la même chose, le truc c'est qu'il faudrait que tu utilises zenity avec une demande d'ouvrir un fichier, il le lis et qu'il ouvre de nouveau pour sélectionner un autre fichier puis qu'il compare les deux fichiers, mais il compare quoi au final, du texte?
Hors ligne
#1117 Le 12/08/2010, à 21:18
- Compte supprimé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Oui, c'est le problème que j'évoque quand je dis "je me demande si le script en question va prendre en compte le changement d'élément".
En gros, quand je définie A1= `echo $(basename "$1")`
le fichier sélectionné est toto.txt (la commande basename... permet de retourner le nom de l'élément sélectionné et donc de le lire à l'oral avec un synthétiseur)
Puis, je change de fichier (sleep), je passe sur tutu.txt (je ne sais pas si le script est capable de le prendre en compte)
je prends une nouvelle variable A2=`echo $(basename "$1")` qui permet donc de retourner tutu.txt
(je n'ai pas trouvé d'autre moyen pour avoir le nom de l'élément sélectionné
En fait, le script doit comparer le nom des deux éléments successivement sélectionnés.
par exemple, je suis sur le fichier toto.txt
le script me lit le nom du fichier toto.txt
ensuite, je change de fichier tutu.pdf
le script compare le nom toto.txt et tutu.pdf comme ils ne sont pas identiques, le script me lit
le nom du fichier sur lequel je me trouve c'est à dire tutu.pdf
ps: le script ne me lit pas le contenu du fichier mais bel et bien le nom du fichier ou du dossier séléctionné afin que je puisse me repérer plus facilement dans une fenêtre nautilus par exemple
En espérant avoir été compréhensible.
Dernière modification par benoitfra (Le 12/08/2010, à 21:45)
#1118 Le 12/08/2010, à 22:49
- wido
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Essaye ceci:
#!/bin/bash
#
# Dépendance: zenity, xclip, mbrola, espeak
###### définition du premier élément à lire ######
LECTURE(){
###### définition du type de voix à utiliser ######
VOIX=/opt/mbrola/fr4/fr4
TYPE=mb/mb-fr4
###### test pour savoir si la lecture est en cours ######
if [ ! -z $(ps -A | grep mbrola | awk '{ print $1 }' ) ]; then
kill $(ps -A | grep mbrola | awk '{ print $1 }' ) && sleep 2
fi
}
#Ouverture du 1er fichier
fichier=$(zenity --file-selection \
--title="Veuillez selectionner un fichier" \
--text="Choisissez un fichier quelconque");
if [[ $? -eq 1 ]] ; then
zenity --error --text "Vous n'avez pas sélectionné de fichier! "
echo "Vous n'avez pas sélectionné de fichier"
exit
else
true
fi
echo "Lecture du fichier: ${fichier}"
#Lancement de la lecture avec mbrola
LECTURE
###### lecture du nom du premier élément ######
xclip -o | espeak -v $TYPE -s 160 -p 40 "$fichier" | mbrola $VOIX - -.au | aplay
###### pose pour changer d'élément ######
sleep 2
#Ouverture du second fichier
fichier2=$(zenity --file-selection \
--title="Veuillez selectionner un fichier" \
--text="Choisissez un fichier quelconque");
if [[ $? -eq 1 ]] ; then
zenity --error --text "Vous n'avez pas sélectionné de fichier! "
echo "Vous n'avez pas sélectionné de fichier"
exit
else
true
fi
echo "Lecture du fichier: ${fichier2}"
# Comparaison
###### mise en place de la boucle if ######
if [ "$fichier" = "$fichier2" ]; then
echo "$FICHIER est le même que $fichier2"
exit
else
LECTURE
###### lecture du nom du second élément ######
xclip -o | espeak -v $TYPE -s 160 -p 40 "$fichier2" | mbrola $VOIX - -.au | aplay
###### pose pour changer d'élément ######
sleep 2
fi
Dernière modification par wido (Le 12/08/2010, à 22:51)
Hors ligne
#1119 Le 12/08/2010, à 22:55
- AnsuzPeorth
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
@benoitfra
Lorsque tu selectionnes un fichier /dossier et que tu lance xclip -o en console tu as le dossiers sélectionné ???? Faut que tu m'expliques là Chez moi, rien !
Sinon, pour ton problème de script nautilus, pour qu'il fonctionne, il faut qu'il soit lancé par nautilus, via les nautilus-scripts (clic droit sur le fichier). En le lancant depuis la console, ca ne peut pas marcher.
J'ai chercher un peu, mais je n'ai pas trouvé de moyen pour récupérer l'élément selectionné dans nautilus (même python-nautilus ne le propose pas), je pense qu'il faudrait carrément modifier nautilus pour pouvoir y avoir accès (ca doit être possible vu que lors de la selection, la statusbarre est modifier).
Sinon, pour ton problème actuel, de chez moi (où xclip -o ne fonctionne pas lors de la selection), il suffit après la selection, appuyer sur F2 (renommer), ajouter la commande xclip -o .... sur un autre raccourci clavier, enter, puis nouveau fleche pour naviguer et le tour est joué . Ca demande qd même une certaine gymnastique sur le clavier ....
Si de ton coté tu as une réponse correcte de xclip lors de la selection, une simple boucle pourrait faire:
old_nom=
while true
do
sleep 0.5
nom=$(xclip -o)
[[ "$old_nom" == "$nom" ]] && continue
espeak -v $TYPE -s 160 -p 40 "$nom" | mbrola $VOIX - -.au | aplay
old_nom=$nom
done
C'est une boucle infini, il serait possible d'y remédier facilement, mais en sachant pas comment ca fonctionne chez toi ... dur d'aider (surtout cette affaire de selection de fichier que tu récupères via xclip !!!)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#1120 Le 12/08/2010, à 23:08
- jtho
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
N'oublies pas les balises de code dans ton poste stp !! wink
Elles se présentent comme sa (sans l'espace après le 1° crochet) :
[ code] ... le code à poster ... [ /code]
Plus simple : tu sélectionnes ton code, puis tu cliques en haut sur "Code" quand tu rédiges ton post.Ce qui va te donner une mise en page beaucoup plus lisible !!
Si je pouvais obtenir une réponse, ce serait SYMPA!!!!
Hors ligne
#1121 Le 12/08/2010, à 23:29
- Compte supprimé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Pardon, de t'avoir induit en erreur, AnsuzPeorth xclip -o n'a rien à faire là je ne m'en était pas rendu compte. je vais modifier mon post
encore pardon
Pour l'exécution du script, j'utilise nautilus-action pour utiliser (la touche menu à coté de alt droit)+n
..
Merci, wido pour le script,
je ne sais pas comment faire pour que la sélection des fichier se fasse dans nautilus avec le curseur et non dans une fenêtre de sélection de fichier.
Dernière modification par benoitfra (Le 12/08/2010, à 23:38)
#1122 Le 12/08/2010, à 23:31
- AnsuzPeorth
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bjr,
N'oublies pas les balises de code dans ton poste stp !! wink
Elles se présentent comme sa (sans l'espace après le 1° crochet) :
[ code] ... le code à poster ... [ /code]
Plus simple : tu sélectionnes ton code, puis tu cliques en haut sur "Code" quand tu rédiges ton post.Ce qui va te donner une mise en page beaucoup plus lisible !!
Si je pouvais obtenir une réponse, ce serait SYMPA!!!!
La réponse t'a été donné. Mais moi non plus ej vois pas à quoi ca peut te servir ! Soit plus précis !
Tu veux savoir si le IPOD est monté ? Dans un script ? Tu veux faire koi après ?
Tu peux avoir des infos en reprenant ce qui t'a déjà été dit:
Pour afficher en console le contenue du fichier fstab
cat /etc/fstab
Ensuite la commande mount :
Tu vois dans ton resultat que le IP°D est bien monté.
La commande grep sert à filter le résultat, par exemple
mount | grep IPOD
te donnera
/dev/sdb1 on /media/IPOD (TNU) type vfat (rw,nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#1123 Le 12/08/2010, à 23:36
- AnsuzPeorth
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
saurais tu comment faire pour que la selection de fichier se fasse dans nautilus et non dans cette fenetre
Comme je l'ai expliqué plus haut, cela ne peut se faire QUE via le clic droit sur un fichier, et un script nautilus au cul (pas pratique je trouve !)
La solution de la touche F2 puis associé la commande xclip sur un autre raccourci clavier me semble pas trop hardu !
Sinon, tu peux lancer un daemon, mais il faudra qd même passer par le F2, simplement pour mettre en surbrillance le nom qui sera lu.
A ma connaissance, tu n'as que ces 2 solutions, script-nautilus (clic-droit), ou passer par F2 pour récupérer le nom du fichier sélectionné.
SI il existe d'autres solutions pour récupérer le fichier sélectionné en temps réel, je suis preneur
Dernière modification par AnsuzPeorth (Le 12/08/2010, à 23:37)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#1124 Le 13/08/2010, à 00:02
- Compte supprimé
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
la commande $(basename "$1")` fonctionne je lance le script avec touche menu+n
le seul problème est qu'il semble impossible de lancer le script donné plus haut automatiquement quand on sélectionne un fichier.
tant pis
Dernière modification par benoitfra (Le 13/08/2010, à 00:04)
#1125 Le 13/08/2010, à 12:01
- carambar
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour,
Sous lucid lynx, je n'ai aucun soucis en cliquant sur l'icone Bluetooth pour envoyer des fichiers sur mon samsung sgh-zv40.
Mais je me demandais si une solution, permettant à partir de nautilus en sélectionnant un fichier d'obtenir par un clic droit une option d'envoi via bluetooth, serait difficile à réaliser.
Me concernant la réponse est oui, mes connaissances ne me permettant pas à l'heure actuelle de me lancer dans une telle aventure!
Si donc l'idée ne vous semble pas dénuée d'intérêt je serais ravi que l'un d'entre vous m'aide à apporter ma pierre à l'édifice.
sudo apt-get remove --purge les cons
Intel® Core™2 Quad CPU Q6600 @ 2.40GHz × 4 ,12.04 (precise) 64 bits.
Hors ligne